Sie sind nicht angemeldet.

Fighter78

Anfänger

  • »Fighter78« ist männlich
  • »Fighter78« ist der Autor dieses Themas

Beiträge: 18

PHPKIT Version: PHPKIT 1.6.6

Danksagungen: 1 / 4

  • Nachricht senden

1

Donnerstag, 4. September 2014, 21:39

Profilavatar auslesen & an anderer Stelle ausgeben

Guten Abend,

Wir sind derzeit dabei uns einen eigenen kleinen Streamstatus zu programmieren und wollten nun dort auch das Profilbild des sendenden Moderators miteinbinden. Nun meine Frage, wie ist das ganze möglich auszulesen und dann in unserem Streamstatus einzubauen? Wir bauen das ganze derzeit Local bei uns auf dem PC auf, so das noch niemand zugriff auf die Page hat, da wir erst alles fertig haben wollen bevor wir das der öffentlichkeit präsentieren.

Unsere Moderatoren tragen ihren Moderatoren/DJ Namen im Genrefeld ein, so das die Abfrage des Namens darüber läuft, nun brauchen wir halt nurnoch das das script die Abfrage macht, wenn Moderator XYZ drauf ist, und dieser ein Bild hat, bitte dieses Anzeigen, ansonsten das Default Bild.

Hoffe das ganze ware verständlich und wir bekommen hilfe :)

Liebe Grüße

reddevil82

PHPKIT Oldie

  • »reddevil82« ist männlich
  • »reddevil82« ist ein verifizierter Benutzer

Beiträge: 3 204

Wohnort: Spiesen-Elversberg

Beruf: Einzelhandelskaufmann

PHPKIT Version: Kein PHPKIT

Danksagungen: 1028 / 371

  • Nachricht senden

2

Freitag, 5. September 2014, 17:48

Der Code wäre nicht das Problem aber mir stellt sich jetzt die Frage wie du den zu sendenden DJ mit eurem kleinem Streamstatus auslesen willst, da du für die Ansicht eines Profilbildes die ID des zu sendenden DJ´s brauchst.

Dazu bräuchtest du zb.einen Sendeplan der dieses gleich integriert hat.

Gerne kannst du aber mal deinen bisherigen Code hier posten dann kann ich mal schauen ob das so wie du es vor hast überhaupt möglich ist.
Auch mal den Bedanken Button nutzen tut nicht weh und der Ersteller freut sich umso mehr.

Zitat von »Friedrich Nietzsche«

Der, welcher etwas Großes schenkt, findet keine Dankbarkeit, denn der Beschenkte hat schon durch das Annehmen zu viel Last.

Fighter78

Anfänger

  • »Fighter78« ist männlich
  • »Fighter78« ist der Autor dieses Themas

Beiträge: 18

PHPKIT Version: PHPKIT 1.6.6

Danksagungen: 1 / 4

  • Nachricht senden

3

Freitag, 5. September 2014, 19:25

Wir haben bisher zwei Dateien (einmal die sc.php und einmal die Stream.php)

Hier die sc.php natürlich ohne PW und so.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?php
 class ShoutCast {
    var $host "xxxx";                //Server
    var $port "xxxx";                //Port für Connect-Stream
    var $tunein "";             //Port für den Tune-In (für webplayer)
    var $passwd "xxxxx";            //Admin-Passwort
    var $_xml;
    var $_error;
    
////////////////////////////////////////////////////////////////////////////////////////////////////
// AB HIER NICHTS MEHR ÄNDERN                                                                     //
// FALLS NÖTIG KÖNNEN DIE OFFLINE- UND FEHLERAUSGABEN IN DEN ZEILEN 21, 35 UND 41 ANGEPASST WERDEN//
////////////////////////////////////////////////////////////////////////////////////////////////////

    function openstats() {
        $fp fsockopen($this->host$this->port$errno$errstr3);
        If (!$fp) {
            $this->_error "Offline";
            return(0);
        } else {
            fputs($fp"GET /admin.cgi?pass=".$this->passwd."&mode=viewxml HTTP/1.0\r\n");
            fputs($fp"User-Agent: Mozilla\r\n\r\n");
            while (!feof($fp)) {
                    $this->_xml .= fgets($fp512);
            }
            fclose($fp);
 
            if (stristr($this->_xml"HTTP/1.0 200 OK") == true) {
                // <-H> Thanks to Blaster for this fix.. trim();
                $this->_xml trim(substr($this->_xml42));
            } else {
                $this->_error "Bad login";
                return(0);
            }
 
            $xmlparser xml_parser_create();
            if (!xml_parse_into_struct($xmlparser$this->_xml$this->_values$this->_indexes)) {
                $this->_error "Unparsable XML";
                return(0);
            }
 
            xml_parser_free($xmlparser);
 
            return(1);
        }
    }
 
    function GetCurrentListenersCount() {
        return($this->_values[$this->_indexes["CURRENTLISTENERS"][0]]["value"]);
    }
 
    function GetPeakListenersCount() {
        return($this->_values[$this->_indexes["PEAKLISTENERS"][0]]["value"]);
    }
 
    function GetMaxListenersCount() {
        return($this->_values[$this->_indexes["MAXLISTENERS"][0]]["value"]);
    }
 
    function GetReportedListenersCount() {
        return($this->_values[$this->_indexes["REPORTEDLISTENERS"][0]]["value"]);
    }
 
    function GetAverageListenTime() {
        return($this->_values[$this->_indexes["AVERAGETIME"][0]]["value"]);
    }
 
    function GetServerGenre() {
        return($this->_values[$this->_indexes["SERVERGENRE"][0]]["value"]);
    }
 
    function GetServerURL() {
        return($this->_values[$this->_indexes["SERVERURL"][0]]["value"]);
    }
 
    function GetServerTitle() {
        return($this->_values[$this->_indexes["SERVERTITLE"][0]]["value"]);
    }
 
    function GetCurrentSongTitle() {
        return($this->_values[$this->_indexes["SONGTITLE"][0]]["value"]);
    }
 
    function GetIRC() {
        return($this->_values[$this->_indexes["IRC"][0]]["value"]);
    }
 
    function GetAIM() {
        return($this->_values[$this->_indexes["AIM"][0]]["value"]);
    }
 
    function GetICQ() {
        return($this->_values[$this->_indexes["ICQ"][0]]["value"]);
    }
 
    function GetWebHitsCount() {
        return($this->_values[$this->_indexes["WEBHITS"][0]]["value"]);
    }
 
    function GetStreamHitsCount() {
        return($this->_values[$this->_indexes["STREAMHITS"][0]]["value"]);
    }
 
    function GetStreamStatus() {
        return($this->_values[$this->_indexes["STREAMSTATUS"][0]]["value"]);
    }
 
    function GetBitRate() {
        return($this->_values[$this->_indexes["BITRATE"][0]]["value"]);
    }
 
    function GetSongHistory() {
        for($i=1;$i<sizeof($this->_indexes['TITLE']);$i++) {
            $arrhistory[$i-1] = array(
                                    "playedat"=>$this->_values[$this->_indexes['PLAYEDAT'][$i]]['value'],
                                    "title"=>$this->_values[$this->_indexes['TITLE'][$i]]['value']
                                );
        }
 
        return($arrhistory);
    }
 
    function GetListeners() {
        for($i=0;$i<sizeof($this->_indexes['USERAGENT']);$i++) {
            $arrlisteners[$i] = array(
                                    "hostname"=>$this->_values[$this->_indexes['HOSTNAME'][$i]]['value'],
                                    "useragent"=>$this->_values[$this->_indexes['USERAGENT'][$i]]['value'],
                                    "underruns"=>$this->_values[$this->_indexes['UNDERRUNS'][$i]]['value'],
                                    "connecttime"=>$this->_values[$this->_indexes['CONNECTTIME'][$i]]['value'],
                                    "pointer"=>$this->_values[$this->_indexes['POINTER'][$i]]['value'],
                                    "uid"=>$this->_values[$this->_indexes['UID'][$i]]['value'],
                                );
        }
 
        return($arrlisteners);
    }
 
    function geterror() { return($this->_error);} 
    }
    ?>


Und hier die stream.php

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
include("sc.php");
 
function ConvertSeconds($seconds) {
    $tmpseconds substr("00".$seconds 60, -2);
    if ($seconds 59) {
        if ($seconds 3599) {
            $tmphours substr("0".intval($seconds 3600), -2);
            $tmpminutes substr("0".intval($seconds 60 - (60 $tmphours)), -2);
 
            return ($tmphours.":".$tmpminutes.":".$tmpseconds);
        } else {
            return ("00:".substr("0".intval($seconds 60), -2).":".$tmpseconds);
        }
    } else {
        return ("00:00:".$tmpseconds);
    }
}
 
$shoutcast = new ShoutCast();
$shoutcast->host;
$shoutcast->port;
$shoutcast->tunein;
$shoutcast->passwd;
 
if ($shoutcast->openstats()) {
    if ($shoutcast->GetStreamStatus()) {

////////////////////////////////////////////////////
// UMWANDLUNG VON FEHLERHAFT ANGEZEIGTEN UMLAUTEN //
////////////////////////////////////////////////////

                $aktuellertitel $shoutcast->GetCurrentSongTitle();
                $uml = array("ä""ö""ü""Ä""Ö""Ü""ß""´");
                $ohne_uml = array("ae""oe""ue""Ae""Oe""Ue""ss""'");
                $aktuellertitel str_replace($uml$ohne_uml$aktuellertitel);
                
/////////////////////////////////////////////////////////////////////////////////////////
// JEDER ERSTE BUCHSTABE GROSS -- FALLs UNGEWݎSCHT, DIE FOLGENDE ZEILE AUSKOMMENTIREN //
/////////////////////////////////////////////////////////////////////////////////////////
                $aktuellertitel ucwords($aktuellertitel);


///////////////////////
// MׇLICHE AUSGABEN //
///////////////////////
?>

<font color='white'>Stream Title:            <?php echo $shoutcast->GetServerTitle(); ?><br>
Aktuelle H��zahl:        <?php echo $shoutcast->GetCurrentListenersCount(); ?><br>
DJ:                    <?php echo $shoutcast->GetServerGenre(); ?><br>
<marquee>Aktueller Titel:        <?php echo  $shoutcast->GetCurrentSongTitle(); ?></marquee><br></font>


<?php
}else {
    echo "<b><font color='red'>Der Stream ist Offline</font></b>";
    }      
}
?>


Auf unserer aktuellen Seite ist es so (Kein PHPKIT) das der Username abgeglichen wird mit dem Genre Feld, stimmt der Name überein wird das Bild des sendenden DJs angezeigt, also keine auslese aus dem Sendeplan nötig.

Das angehängte Bild zeigt was derzeit über die obengenannten Dateien ausgegeben wird.

Hier noch die Codezeilen wie es auf unserer aktuellen noch HP ausgelesen wird:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
 $stream_dj         get_item("SERVERGENRE"$scdata);

$tmp_ava $ZE_AVA->getMainAva($ZE_USER->getInfo('user_name'$dj'user_id'));
            if($tmp_ava[0][ava_link] == '') {
                if($dj != $scast_auto_name) {
                 $dj_ava 'default_user.jpg';
            } else {
                $dj_ava $scast_auto_name.'.png';
            } } else {
              $dj_ava $tmp_ava[0][ava_link];
             }
»Fighter78« hat folgendes Bild angehängt:
  • Stream.JPG

reddevil82

PHPKIT Oldie

  • »reddevil82« ist männlich
  • »reddevil82« ist ein verifizierter Benutzer

Beiträge: 3 204

Wohnort: Spiesen-Elversberg

Beruf: Einzelhandelskaufmann

PHPKIT Version: Kein PHPKIT

Danksagungen: 1028 / 371

  • Nachricht senden

4

Freitag, 5. September 2014, 19:58

Ok dann würde es gehen.

Es müsste dann aber der Username bzw. Usernick genau der gleiche sein wie im Stream.

Was man noch wissen müsste obder Username oder Usernick abgefragt werden soll im PHPKIT?
Auch mal den Bedanken Button nutzen tut nicht weh und der Ersteller freut sich umso mehr.

Zitat von »Friedrich Nietzsche«

Der, welcher etwas Großes schenkt, findet keine Dankbarkeit, denn der Beschenkte hat schon durch das Annehmen zu viel Last.

Fighter78

Anfänger

  • »Fighter78« ist männlich
  • »Fighter78« ist der Autor dieses Themas

Beiträge: 18

PHPKIT Version: PHPKIT 1.6.6

Danksagungen: 1 / 4

  • Nachricht senden

5

Freitag, 5. September 2014, 20:02

Das mit dem Usernamen gleich sein habe wir ja jetzt auch, das wäre also nicht das Problem.
Ja es wäre schön wenn dieser natürlich auch im PHPKit ausgelesen würde, damit das Bild dann auch angezeigt wird.

reddevil82

PHPKIT Oldie

  • »reddevil82« ist männlich
  • »reddevil82« ist ein verifizierter Benutzer

Beiträge: 3 204

Wohnort: Spiesen-Elversberg

Beruf: Einzelhandelskaufmann

PHPKIT Version: Kein PHPKIT

Danksagungen: 1028 / 371

  • Nachricht senden

6

Samstag, 6. September 2014, 21:00

Ok ich schaue es mir morgen wenn ich bisschen zeit habe mal an.
Auch mal den Bedanken Button nutzen tut nicht weh und der Ersteller freut sich umso mehr.

Zitat von »Friedrich Nietzsche«

Der, welcher etwas Großes schenkt, findet keine Dankbarkeit, denn der Beschenkte hat schon durch das Annehmen zu viel Last.

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Fighter78 (6. September 2014, 22:28)

Fighter78

Anfänger

  • »Fighter78« ist männlich
  • »Fighter78« ist der Autor dieses Themas

Beiträge: 18

PHPKIT Version: PHPKIT 1.6.6

Danksagungen: 1 / 4

  • Nachricht senden

7

Samstag, 6. September 2014, 22:28

Danke das ist sehr nett von dir :)

Fighter78

Anfänger

  • »Fighter78« ist männlich
  • »Fighter78« ist der Autor dieses Themas

Beiträge: 18

PHPKIT Version: PHPKIT 1.6.6

Danksagungen: 1 / 4

  • Nachricht senden

8

Dienstag, 9. September 2014, 23:01

dieses Problem hat sich gelöst :) Haben es hinebkommen nach langer bastelarbeit.
Kann also geclosed werden :)

reddevil82

PHPKIT Oldie

  • »reddevil82« ist männlich
  • »reddevil82« ist ein verifizierter Benutzer

Beiträge: 3 204

Wohnort: Spiesen-Elversberg

Beruf: Einzelhandelskaufmann

PHPKIT Version: Kein PHPKIT

Danksagungen: 1028 / 371

  • Nachricht senden

9

Mittwoch, 10. September 2014, 21:30

Wäre lieb wenn ihr die Lösung auch evtl. Für andere hier anbieten würdet.
Auch mal den Bedanken Button nutzen tut nicht weh und der Ersteller freut sich umso mehr.

Zitat von »Friedrich Nietzsche«

Der, welcher etwas Großes schenkt, findet keine Dankbarkeit, denn der Beschenkte hat schon durch das Annehmen zu viel Last.

Fighter78

Anfänger

  • »Fighter78« ist männlich
  • »Fighter78« ist der Autor dieses Themas

Beiträge: 18

PHPKIT Version: PHPKIT 1.6.6

Danksagungen: 1 / 4

  • Nachricht senden

10

Donnerstag, 11. September 2014, 15:38

Hi reddevil82,

du selbst hast mir den Lösungsansatz verraten xD.

Habe folgenden Beitrag auf Avatar in einer Navbox anzeigen - alte Versionen [1.6.03|1.6.1|1.6.4] - Kitnetwork Archiv gefunden und das ganze dann leicht umgestrickt ^^


so sieht die stream.php nun aus

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<meta http-equiv="refresh" content="30">
<?php
include("sc.php");
 
function ConvertSeconds($seconds) {
    $tmpseconds substr("00".$seconds 60, -2);
    if ($seconds 59) {
        if ($seconds 3599) {
            $tmphours substr("0".intval($seconds 3600), -2);
            $tmpminutes substr("0".intval($seconds 60 - (60 $tmphours)), -2);
 
            return ($tmphours.":".$tmpminutes.":".$tmpseconds);
        } else {
            return ("00:".substr("0".intval($seconds 60), -2).":".$tmpseconds);
        }
    } else {
        return ("00:00:".$tmpseconds);
    }
}

$db_host "xxxx";
$db_user "xxxx";
$db_pass "xxxx";
$db_name "xxxx";
$db_prefix "pk_";
 
mysql_connect $db_host$db_user$db_pass)
   or die ( 'Konnte keine Verbindung zur Datenbank herstellen' );
mysql_select_db($db_name) or die ("Datenbank existiert nicht");
 
 
 
$shoutcast = new ShoutCast();
$shoutcast->host;
$shoutcast->port;
$shoutcast->tunein;
$shoutcast->passwd;
 
if ($shoutcast->openstats()) {
    if ($shoutcast->GetStreamStatus()) {

////////////////////////////////////////////////////
// UMWANDLUNG VON FEHLERHAFT ANGEZEIGTEN UMLAUTEN //
////////////////////////////////////////////////////

                $aktuellertitel $shoutcast->GetCurrentSongTitle();
                $uml = array("ä""ö""ü""Ä""Ö""Ü""ß""´");
                $ohne_uml = array("ae""oe""ue""Ae""Oe""Ue""ss""'");
                $aktuellertitel str_replace($uml$ohne_uml$aktuellertitel);
                
/////////////////////////////////////////////////////////////////////////////////////////
// JEDER ERSTE BUCHSTABE GROSS -- FALLs UNGEWݎSCHT, DIE FOLGENDE ZEILE AUSKOMMENTIREN //
/////////////////////////////////////////////////////////////////////////////////////////
                $aktuellertitel ucwords($aktuellertitel);
//--------------------------------AVATAR------------------------------------

$stream_dj $shoutcast->GetServerGenre();
$dj_array   html_entity_decode(utf8_decode($stream_dj));
$dj_arr explode("|"$dj_array);
$dj $dj_arr[1];
$theme $dj_arr[0];
$dj trim($dj);


    $userinfo=mysql_query("SELECT * FROM pk__user WHERE user_name = '".$dj."'");
    $userava=mysql_fetch_array($userinfo);
    
    if ($userava['user_avatar']!=""){
        $avatar='<div align="left"><img src="http://www.deineurl.de/images/avatar/'.$userava['user_avatar'].'" height="100" border="0" alt=""></div>';
    }
    else
        {
        $avatar='<div align="left"><img src="http://www.deineurl.de/images/avatar/default_user.jpg" height="85" width="65"border="0" alt=""></div>';
        }    
///////////////////////
// MׇLICHE AUSGABEN //
///////////////////////
?>
<table>
    <tr>
        <td width="65">
        <?php echo $avatar?>
        </td>
        <td>
            <font color='white'>On Air:<br><font color='#94b4db'><?php echo $dj?><br>
            <font color='white'>H&ouml;rer: <font color='#94b4db'><?php echo $shoutcast->GetCurrentListenersCount(); ?></font>
        </td>
    </tr>
    <tr>
        <td colspan="2"><font color='white'>
        <font color='white'>Thema : <font color='#94b4db'><?php echo $theme?><br>
        <font color='white'>Aktueller Titel:      <font color='#94b4db'><marquee scrolldelay="125">  <?php echo  $shoutcast->GetCurrentSongTitle(); ?></marquee></font>
        </td>
    </tr>
</table>






<?php
}else {
    echo "<b><font color='red'>Der Stream ist Offline</font></b>";
    }      
}
?>


und hier nochmal der eigentlich wichtige Teil separat

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$stream_dj $shoutcast->GetServerGenre();
$dj_array   html_entity_decode(utf8_decode($stream_dj));
$dj_arr explode("|"$dj_array);
$dj $dj_arr[1];
$theme $dj_arr[0];
$dj trim($dj);


    $userinfo=mysql_query("SELECT * FROM pk__user WHERE user_name = '".$dj."'");
    $userava=mysql_fetch_array($userinfo);
    
    if ($userava['user_avatar']!=""){
        $avatar='<div align="left"><img src="http://www.deineurl.de/images/avatar/'.$userava['user_avatar'].'" height="100" border="0" alt=""></div>';
    }
    else
        {
        $avatar='<div align="left"><img src="http://www.deineurl.de/images/avatar/default_user.jpg" height="85" width="65"border="0" alt=""></div>';
        }


und ganz unten dann halt die Ausgabe der Variablen

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »Fighter78« (11. September 2014, 15:59)


reddevil82

PHPKIT Oldie

  • »reddevil82« ist männlich
  • »reddevil82« ist ein verifizierter Benutzer

Beiträge: 3 204

Wohnort: Spiesen-Elversberg

Beruf: Einzelhandelskaufmann

PHPKIT Version: Kein PHPKIT

Danksagungen: 1028 / 371

  • Nachricht senden

11

Freitag, 12. September 2014, 22:48

Super finde ich toll das du hier auch gleich die Lösung für andere gepostet hast und das damit dein Problem gelöst werden konnte. :thumbup:
Auch mal den Bedanken Button nutzen tut nicht weh und der Ersteller freut sich umso mehr.

Zitat von »Friedrich Nietzsche«

Der, welcher etwas Großes schenkt, findet keine Dankbarkeit, denn der Beschenkte hat schon durch das Annehmen zu viel Last.

Ähnliche Themen

Social Bookmarks