Thread Verfasser: DJ Vampire
Thread ID: 823
Thread Info
Es gibt 1 Beiträge zu diesem Thema, und es wurde 2633 Mal angesehen.
 Thema drucken
Moderator kann NUR AutoDJ kicken (für den Radiostatus)
DJ Vampire
Für diese Funktion müsst ihr den Radiostaus von Gr@n@de verwenden.
Bei dieser Funktion wird vor jedem Kick geprüfft, ob der AutoDJ oder ein Moderator sendet.
Der AutoDJ muss aber im AIM-Feld was anderes stehen habe wie die Moderatoren.
Der Superadmin, sowie User in der Kickgruppe können immer Kicken.

1. Erstellt euch eine Gruppe, die dann das Recht bekommt, das sie IMMER Kicken darf. Also auch andere Moderatoren.

2. erstellt im Ordner ../infusions/gr_radiostatus_panel/ eine kicken.php.
Dort rein schreibt ihr (AIM vom AutoDJ muss angepasst werden):



<?php
   
require_once '../../maincore.php';
// Serverdaten
require_once INFUSIONS.'gr_radiostatus_panel/infusion_db.php';
$result = dbquery("SELECT * FROM ".DB_PREFIX."gr_radiostatus");
$data = dbarray($result);
   //db-name = gr_radiostatus
    $scast_host = $data['rs_ip']; //rs_ip
    //$scast_name = 'my internet radio';
    $scast_port = $data['rs_port']; //rs_port
    $scast_pass = $data['rs_apw']; //rs_apw
    $aimname = 'Auto DJ';

// XML holen
   $fp = @fsockopen($scast_host, $scast_port, $errno, $errstr, 30);
    if($fp){
        if(fputs($fp, "GET /admin.cgi?pass=".$scast_pass."&mode=viewxml HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n")) {
            $xmldata = "";
            while(!feof($fp)) $xmldata .= fgets($fp, 1000);
            $xmldata = explode("\r\n", $xmldata);
            $xmldata = $xmldata[3];
        }
    }


// Regex Funktionen
    function get_item($name, $source) {
        preg_match('#<'.$name.'>(.*?)</'.$name.'>#', $source, $matches);
        return $matches[1];
    }
    function get_items($name, $source) {
        preg_match_all('#<'.$name.'>(.*?)</'.$name.'>#', $source, $matches);
        return $matches[1];
    }


// Werte aus XML auslesen
    $sc_stream_status = get_item("STREAMSTATUS", $xmldata);

    if($sc_stream_status) {
        $sc_aim               = get_item("AIM", $xmldata);
    }

    if ($sc_aim == $aimname)  {
       $fp = @fsockopen($scast_host, $scast_port, $errno, $errstr, 30);
       if($fp){
            fwrite($fp, "GET /admin.cgi?pass=".$scast_pass."&mode=kicksrc HTTP/1.0\r\nUser-Agent:Mozilla/4.0\r\n\r\n");
      }

      echo "Stream wurde gekickt! Bitte umgehend connecten!";
    } else {
    echo "Es ist ein Moderator auf dem Stream. Es kann nicht gekickt werden!";
    
    }
            //Kick ende
            
?>


3. öffnet die gr_radiostatus_info.php (wenn ihr noch nicht geändert habt) und sucht:


</script>
            '.$locale['grrs_19'].'<br />
            <form id="kickme" action="'.FUSION_SELF.'?id='.$_GET['id'].(isset($_GET['popup']) ? '&amp;popup' : '').'" method="post"><input type="hidden" name="kick" /></form><input type="submit" class="button" name="kick" onclick="kickmecheck();" value="'.$locale['grrs_20'].'" />';


ändern in (GruppenID muss angepasst werden):


</script>';
            if (iSUPERADMIN || checkgroup(5)) {
            echo 'Hier kann ein Admin oder die Sendeleitung den AutoDJ oder einen Moderator kicken.<br />';
            echo '<form id="kickme" action="'.FUSION_SELF.'?id='.$_GET['id'].(isset($_GET['popup']) ? '&amp;popup' : '').'" method="post"><input type="hidden" name="kick" /></form><input type="submit" class="button" name="kick" onclick="kickmecheck();" value="'.$locale['grrs_20'].'" />';
            } else {
            echo "Hier kannst du den AutoDJ kicken.<br />";
            echo' <input type="Submit" name="Submit" value="'.$locale['grrs_20'].'" class="button" onclick="javascript:window.open(\'kicken.php\',\'_blank\',\'width=340,height=260\',\'directories=no\',\'toolbar=no\',\'location=no\',\'menubar=no\',\'scrollbars=no\',\'status=no\',\'resizable=no\',\'dependent=no\')">';
            }
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Springe ins Forum: