ts3admin.class channel erstellen

05/19/2013 19:11 imagecload#1
Tach,

Ich habe ein kleines POST Script erstellt.

Oben hab ich eine Variable erstellt die sich $name nent. Dort wird der Name der in der Textbox beim Formular eingetippt wurde gespeichert.
Meine Frage ist wie ich via ts3admin.class dann einen Channel erstellen kann.


channelCreate($name) hab ich schon probiert , leider vergebens.
05/19/2013 19:23 KoKsPfLaNzE#2
bitte guck dir doch zuerst die docu an.

[Only registered and activated users can see links. Click Here To Register...]

Habs kurz überflogen und mich bissel anfrüher erinnert, du musst da ein Array rein reichen mit der konfiguration des Channel (name, codex,...).

Zum testen kannst dir och mal alles ausgeben lassen was die Methode zurück gibt. Da steht meist auch der error da.
05/19/2013 19:42 imagecload#3
Ich suchn fertigen Beispielcode mit ner $_POST Methode.
05/19/2013 20:58 IchVerabschiedeMich#4
PHP Code:
<?php

$settings 
= array(
    
'channel_flag_semi_permanent' => 1
);

$ts3AdminClassInstance->channelCreate($settings);
?>
$settings ist ein Array, da rein gehören noch die Propertys wie Channel namen etc
05/19/2013 21:17 #SoNiice#5
PHP Code:
$settings = array();

$settings['channel_name'] = $_POST['name'];
$settings['channel_flag_semi_permanent'] = 1
$settings['channel_flag_permanent'] = 1;

channelCreate($settings); 
Damit würdest du schon einen Channel erstellt bekommen, der Rest muss nicht angegeben sein. Allerdings entweder setzt du den Channel Permanent oder semi Permanent, aber nicht beides ;)
05/20/2013 11:39 imagecload#6
Der Code funktioniert nicht. Wenn ich das Formular abschickte taucht eine Weiße Seite auf obwohl da stehen sollte "Channel wurde erstellt".

PHP Code:
<?PHP
/**
  * clientkick.php
  *
  * Is a small script to demonstrate how to kick a client via ts3admin.class
  *
  * by par0noid solutions - ts3admin.info
  *
*/

/*-------SETTINGS-------*/
$ts3_ip '94.249.253.111';
$ts3_queryport 10011;
$ts3_user 'serveradmin';
$ts3_pass 'y1SKCgLy';
$ts3_port 9987;
$name=$_POST['username']; 
/*----------------------*/

#Include ts3admin.class.php
require("ts3admin.class.php");

#build a new ts3admin object
$tsAdmin = new ts3admin($ts3_ip$ts3_queryport);
$name=$_POST['username']; 
if(
$tsAdmin->getElement('success'$tsAdmin->connect())) {
    
#login as serveradmin
    
$tsAdmin->login($ts3_user$ts3_pass);
    
    
#select teamspeakserver
    
$tsAdmin->selectServer($ts3_port);
    
    
#check if id parameter is set
    
if(isset($_GET['id']) and !empty($_GET['id']) and ctype_digit($_GET['id'])) {
        
#kick player from server
        
if(!$tsAdmin->clientKick($_GET['id'], 'server')) {
            
#show error if client kick was failed
            
echo '<script>alert(\'Client not found\')</script>';
        }
    }
    
    
#get clientlist
    
$clients $tsAdmin->clientList();
    
 
    
#print client count
        
$settings = array();




$settings['channel_name'] = $_POST['username'];
$settings['channel_flag_semi_permanent'] = 1;*
$settings['channel_flag_permanent'] = 0;




channelCreate($settings); *
    
    
#print clients to browser
    
foreach($clients['data'] as $client) {
        
    }
}else{
    echo 
'Connection could not be established.';
}

/**
 * This code retuns all errors from the debugLog
 */
if(count($tsAdmin->getDebugLog()) > 0) {
    foreach(
$tsAdmin->getDebugLog() as $logEntry) {
        echo 
'<script>alert("'.$logEntry.'");</script>';
    }
}
?>
05/20/2013 12:38 KoKsPfLaNzE#7
Quote:
Originally Posted by imagecload View Post
Der Code funktioniert nicht. Wenn ich das Formular abschickte taucht eine Weiße Seite auf obwohl da stehen sollte "Channel wurde erstellt".

PHP Code:
<?PHP
/**
  * clientkick.php
  *
  * Is a small script to demonstrate how to kick a client via ts3admin.class
  *
  * by par0noid solutions - ts3admin.info
  *
*/

/*-------SETTINGS-------*/
$ts3_ip '94.249.253.111';
$ts3_queryport 10011;
$ts3_user 'serveradmin';
$ts3_pass 'y1SKCgLy';
$ts3_port 9987;
$name=$_POST['username']; 
/*----------------------*/

#Include ts3admin.class.php
require("ts3admin.class.php");

#build a new ts3admin object
$tsAdmin = new ts3admin($ts3_ip$ts3_queryport);
$name=$_POST['username']; 
if(
$tsAdmin->getElement('success'$tsAdmin->connect())) {
    
#login as serveradmin
    
$tsAdmin->login($ts3_user$ts3_pass);
    
    
#select teamspeakserver
    
$tsAdmin->selectServer($ts3_port);
    
    
#check if id parameter is set
    
if(isset($_GET['id']) and !empty($_GET['id']) and ctype_digit($_GET['id'])) {
        
#kick player from server
        
if(!$tsAdmin->clientKick($_GET['id'], 'server')) {
            
#show error if client kick was failed
            
echo '<script>alert(\'Client not found\')</script>';
        }
    }
    
    
#get clientlist
    
$clients $tsAdmin->clientList();
    
 
    
#print client count
        
$settings = array();




$settings['channel_name'] = $_POST['username'];
$settings['channel_flag_semi_permanent'] = 1;*
$settings['channel_flag_permanent'] = 0;




channelCreate($settings); *
    
    
#print clients to browser
    
foreach($clients['data'] as $client) {
        
    }
}else{
    echo 
'Connection could not be established.';
}

/**
 * This code retuns all errors from the debugLog
 */
if(count($tsAdmin->getDebugLog()) > 0) {
    foreach(
$tsAdmin->getDebugLog() as $logEntry) {
        echo 
'<script>alert("'.$logEntry.'");</script>';
    }
}
?>
das wird auch kaum so gehen. hast überhaupt schonmal davor php gemacht?


$tsAdmin->channelCreate($settings);
05/20/2013 17:37 imagecload#8
jein , Grundkenntnisse kenne ich aber insgeheim , nein.

PHP Code:
<?PHP
/**
  * clientkick.php
  *
  * Is a small script to demonstrate how to kick a client via ts3admin.class
  *
  * by par0noid solutions - ts3admin.info
  *
*/

/*-------SETTINGS-------*/
$ts3_ip '94.249.253.111';
$ts3_queryport 10011;
$ts3_user 'serveradmin';
$ts3_pass 'xxxxxx';
$ts3_port 9987;
$name=$_POST['username']; 
/*----------------------*/

#Include ts3admin.class.php
require("ts3admin.class.php");

#build a new ts3admin object
$tsAdmin = new ts3admin($ts3_ip$ts3_queryport);

if(
$tsAdmin->getElement('success'$tsAdmin->connect())) {
    
$tsAdmin->login($ts3_user$ts3_pass);
    
$tsAdmin->selectServer($ts3_port);
    
$settings = array();
    
$settings['channel_name'] = $name;
    
$settings['channel_flag_semi_permanent'] = 1;
    
$settings['channel_flag_permanent'] = 1;
    
$tsAdmin->channelCreate($settings);

}   

?>
Will leider immer noch nicht. Das selbe wie vorhin.
05/20/2013 22:24 KoKsPfLaNzE#9
dann lass dir doch ma den error ausgeben bzw guck ins log file wenn an php was net stimmt.
05/20/2013 23:04 #SoNiice#10
Anscheinend hast du meinen Post nicht mal gelesen. Ich habe extra geschrieben, ENTWEDER du setzt die "Semi-Permanent" Flag auf 1 ODER die "Permanent" Flag, aber nicht beides.

PHP Code:
<?php
    
include('ts3admin.class.php');

    
$ts3 = new ts3admin('ip'serverqueryport);

    
$ts3->connect();
    
$logged $ts3->login('serverquerylogin''serverquerypw');

    if(
$logged["success"]) {
        
$select $ts3->selectServer('serverport''port'true);
        if(
$select["success"]) {
            
$settings = array(); 
            
$settings['channel_name'] = "ChannelName"
            
$settings['channel_flag_permanent'] = 1
            
$ts3->channelCreate($settings); 
        } else {
            echo 
'Server kann nicht ausgewählt werden!';
        }

    } else {
        echo 
'Login fehlerhaft!';
    }
?>
Hab's mal eben ordentlich gemacht, funktioniert einwandfrei - bereits getestet.