добавить условие в код

Статус
В этой теме нельзя размещать новые ответы.

anfriska

Профессор
Регистрация
3 Окт 2013
Сообщения
113
Реакции
43
Здравствуйте!
Имеется код:

PHP:
 private function noticeGroupJoin($user_id, $join_type) {
        if ('request' !== $join_type)
            return ;

        $curl = curl_init();
        curl_setopt_array(
            $curl,
            array(
                CURLOPT_URL => 'https://vk.com/foaf.php?id=' . $user_id,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_HEADER => false
            )
        );

        if (!($user_info = curl_exec($curl)))
            throw new Exception('Не удалось получить информацию о пользователе!');
        elseif (!strpos($user_info, '<ya:firstName>'))
            throw new Exception('Нет информация о пользователе!');

        if ($this->config['group_join']['age']) {
            if (!preg_match('/<foaf:dateOfBirth>(.+?)<\/foaf:dateOfBirth>/iU', $user_info, $matches))
                return ;
            $date = new DateTime;
            $date->sub(new DateInterval('P' . $this->config['group_join']['age'] . 'Y'));
            $user_date = new DateTime($matches[1]);
            if ($date->format('U') < $user_date->format('U'))
                    return ;
        }

Помогите добавить условие: Если дата рождения отсутствует или скрыто, то одобряем заявку в сообщество
 
Последнее редактирование:
Данный код содержит примерно следующее:
если дата рождения отсутствует или скрыто, то ничего не делать.
Если дата рождения меньше чем заданный параметр, то ничего не делать.
Думаю, что вот этот код будет работать, как Вы хотите:

PHP:
 private function noticeGroupJoin($user_id, $join_type) {
        if ('request' !== $join_type)
            return ;

        $curl = curl_init();
        curl_setopt_array(
            $curl,
            array(
                CURLOPT_URL => 'https://vk.com/foaf.php?id=' . $user_id,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_HEADER => false
            )
        );

        if (!($user_info = curl_exec($curl)))
            throw new Exception('Не удалось получить информацию о пользователе!');
        elseif (!strpos($user_info, '<ya:firstName>'))
            throw new Exception('Нет информация о пользователе!');

        if (!preg_match('/<foaf:dateOfBirth>(.+?)<\/foaf:dateOfBirth>/iU', $user_info, $matches))
            $isDateSet = false ;
        else 
            $isDateSet = true;

        if ($this->config['group_join']['age'] && $isDateSet) {
            if (!preg_match('/<foaf:dateOfBirth>(.+?)<\/foaf:dateOfBirth>/iU', $user_info, $matches))
                return ;
            $date = new DateTime;
            $date->sub(new DateInterval('P' . $this->config['group_join']['age'] . 'Y'));
            $user_date = new DateTime($matches[1]);
            if ($date->format('U') < $user_date->format('U'))
                    return ;
        }
Таким образом мы обошли проверку даты рождения.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху