Skocz do zawartości
Szukaj w
  • Więcej opcji...
Znajdź wyniki, które zawierają...
Szukaj wyników w...
Qmis

problem z ts3admin class

Rekomendowane odpowiedzi

mam taki problem "PHP Warning:  Invalid argument supplied for foreach() in" w tej linijce        

foreach ($clientsData as $client) {
<?php



class pta {
    
    private static $commandName = 'pta';
    private static $config;
    private static $simpleConfig;
	
	private static function loadConfig() {
        global $lang;
        $cfg = getCommandConfigValue(self::$commandName);
        if ($cfg != false) {
            self::$config = $cfg;
        } else {
            self::$config = self::$simpleConfig;
            echo ": > [".self::$commandName."]: ".$lang->getConsoleLanguage('SIMPLE_CONFIGURATION')."\n";
        }
        return true;
    }
    
    public static function onRegister() {
        self::loadConfig();
        return true;
    } 
	private static function checkGroups($clientGroups) {
        foreach ($clientGroups as $clientGroup) {			
			if (in_array($clientGroup, self::$config['admin_group'])){
				return true;
			}
			
        }
        return false;
    }
	
    public static function onSay($clid = null, $invokerid = null, $params = null) {
        global $lang, $clientsData, $ts; $i=1;
        if (count($params) < 2) {
            $ts->sendMessage(1,$clid,$lang->getLanguage('ANNOUNCE_PARAM_ERROR'));
        }
        $message = '';
		$message .= '[b][URL=client://1/'.$invokerid['client_unique_identifier'].'~'.urlencode($invokerid['client_nickname']).']('.$invokerid['client_nickname'].')[/URL][/b] napisał:';

        if (count($params) > 2) {
            foreach ($params as $word) {
                if ($word != '!pta')
                    $message .= ' '.$word;
            }
        } else {
            $message .= ' '.$params[1];
        }	
		
		
        foreach ($clientsData as $client) {
			$groups = explode(',',$client['client_servergroups']);
			if (self::checkGroups($groups) == true) {
				$ts->sendMessage(1,$client['clid'],$message);
				$i++;
			}
		}
        return true;

	}
}


?>

nie wiem o co chodzi jak to naprawić 

Edytowane przez Qmis

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
45 minut temu, Qmis napisał:

mam taki problem "PHP Warning:  Invalid argument supplied for foreach() in" w tej linijce        

foreach ($clientsData as $client) {
<?php



class pta {
    
    private static $commandName = 'pta';
    private static $config;
    private static $simpleConfig;
	
	private static function loadConfig() {
        global $lang;
        $cfg = getCommandConfigValue(self::$commandName);
        if ($cfg != false) {
            self::$config = $cfg;
        } else {
            self::$config = self::$simpleConfig;
            echo ": > [".self::$commandName."]: ".$lang->getConsoleLanguage('SIMPLE_CONFIGURATION')."\n";
        }
        return true;
    }
    
    public static function onRegister() {
        self::loadConfig();
        return true;
    } 
	private static function checkGroups($clientGroups) {
        foreach ($clientGroups as $clientGroup) {			
			if (in_array($clientGroup, self::$config['admin_group'])){
				return true;
			}
			
        }
        return false;
    }
	
    public static function onSay($clid = null, $invokerid = null, $params = null) {
        global $lang, $clientsData, $ts; $i=1;
        if (count($params) < 2) {
            $ts->sendMessage(1,$clid,$lang->getLanguage('ANNOUNCE_PARAM_ERROR'));
        }
        $message = '';
		$message .= '[b][URL=client://1/'.$invokerid['client_unique_identifier'].'~'.urlencode($invokerid['client_nickname']).']('.$invokerid['client_nickname'].')[/URL][/b] napisał:';

        if (count($params) > 2) {
            foreach ($params as $word) {
                if ($word != '!pta')
                    $message .= ' '.$word;
            }
        } else {
            $message .= ' '.$params[1];
        }	
		
		
        foreach ($clientsData as $client) {
			$groups = explode(',',$client['client_servergroups']);
			if (self::checkGroups($groups) == true) {
				$ts->sendMessage(1,$client['clid'],$message);
				$i++;
			}
		}
        return true;

	}
}


?>

nie wiem o co chodzi jak to naprawić 

$clientsData musi być tablicą 

 

Daj zamiast foreach 

var_dump($clientsData);

I pokaz co tam w tej zmiennej jest

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

PHP Parse error:  syntax error, unexpected '$groups' (T_VARIABLE) in on line 56

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
11 minut temu, Qmis napisał:

PHP Parse error:  syntax error, unexpected '$groups' (T_VARIABLE) in on line 56

<?php



class pta {
    
    private static $commandName = 'pta';
    private static $config;
    private static $simpleConfig;
	
	private static function loadConfig() {
        global $lang;
        $cfg = getCommandConfigValue(self::$commandName);
        if ($cfg != false) {
            self::$config = $cfg;
        } else {
            self::$config = self::$simpleConfig;
            echo ": > [".self::$commandName."]: ".$lang->getConsoleLanguage('SIMPLE_CONFIGURATION')."\n";
        }
        return true;
    }
    
    public static function onRegister() {
        self::loadConfig();
        return true;
    } 
	private static function checkGroups($clientGroups) {
        foreach ($clientGroups as $clientGroup) {			
			if (in_array($clientGroup, self::$config['admin_group'])){
				return true;
			}
			
        }
        return false;
    }
	
    public static function onSay($clid = null, $invokerid = null, $params = null) {
        global $lang, $clientsData, $ts; $i=1;
        if (count($params) < 2) {
            $ts->sendMessage(1,$clid,$lang->getLanguage('ANNOUNCE_PARAM_ERROR'));
        }
        $message = '';
		$message .= '[b][URL=client://1/'.$invokerid['client_unique_identifier'].'~'.urlencode($invokerid['client_nickname']).']('.$invokerid['client_nickname'].')[/URL][/b] napisał:';

        if (count($params) > 2) {
            foreach ($params as $word) {
                if ($word != '!pta')
                    $message .= ' '.$word;
            }
        } else {
            $message .= ' '.$params[1];
        }	
		
		var_dump($clientsData);
        //foreach ($clientsData as $client) {
			//$groups = explode(',',$client['client_servergroups']);
			//if (self::checkGroups($groups) == true) {
			//	$ts->sendMessage(1,$client['clid'],$message);
			//	$i++;
			//}
		//}
        return true;

	}
}


?>

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
3 minuty temu, Qmis napisał:

pokazuje null

No to masz odpowiedź czemu wyskakuje ci ten błąd 😜

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 godziny temu, Qmis napisał:

pokazuje null

Kto by się spodziewał, ja już tobie mówiłem bez reszty kodu ci nie jestem wstanie pomóc.

  • Lubię to! 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...