@meqy1qub

Как можно реализовать проверку на админа?

Помогите реализовать функцию, либо покажите на мои ошибки.
function is_admin($peer_id, $from_id){ // Проверка на админа v1.0
        $param = array(
            'peer_id' => $peer_id,
	    'access_token' => $this->token,
            'v' => '5.90'
        );

        $params = http_build_query($param);

        $resp = json_decode(file_get_contents("https://api.vk.com/method/messages.getConversationMembers?$params"));

        foreach($resp['response']['items'] as $key){
            if ($key['member_id'] == $from_id){
                if($key['admin_ids'] == $from_id){
                return 'admin';
                }elseif($key['owner_id'] == $from_id){
                    return 'owner';
                }elseif($key['admin_ids'] != $from_id){
                    return 'false';
                }
            }
        }
    }

p.s я новичок в php
  • Вопрос задан
  • 151 просмотр
Решения вопроса 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
1) json_decode() по умолчанию вернет объект, чтобы получить массив нужно вторым параметром добавить true.
2) Функция:
а)называется is_admin(), а по факту определяет все что угодно.
б) Возвращает не да/нет(что как бы должна), а 3 разных значения
в) Третье значение false - пишется без кавычек, это булев тип данных.

p.s я новичок в php
Общие принципы которые здесь нарушены относятся к любому языку, не только к пхп.
Ответ написан
mahmudchon
@mahmudchon
https://vk.com/dev/messages.getConversationMembers
Смотрите результаты ответа. Конкретно, в items будет массив со списком участников, где параметр is_admin (boolean) — является ли пользователь администратором.
Т.е. функция должна сначала получить список участников, после уже вы проверяете данные и узнаете.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы