Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Validator/Facebook.php
<?php

namespace XF\Validator;

class
Facebook extends AbstractValidator
{
    public function
isValid($value, &$errorKey = null)
    {
        if (!
preg_match('/^[a-z0-9\.-]+$/i', $value))
        {
           
$errorKey = 'please_enter_valid_facebook_username_using_alphanumeric_dot_numbers';
            return
false;
        }

        return
true;
    }

    public function
coerceValue($value)
    {
        if (
preg_match('#facebook\.com/(\#!/)?profile\.php\?id=(?P<id>\d+)#i', $value, $match))
        {
           
$value = $match['id'];
        }
        else if (
preg_match('#facebook\.com/(\#!/)?(?P<id>[a-z0-9\.-]+)#i', $value, $match))
        {
            if (
substr($match['id'], -4) != '.php')
            {
               
$value = $match['id'];
            }
        }

        return
$value;
    }
}