/**
 * This file is part of the Froxlor project.
 * Copyright (c) 2003-2009 the SysCP Team (see authors).
 * Copyright (c) 2010 the Froxlor Team (see authors).
 *
 * For the full copyright and license information, please view the COPYING
 * file that was distributed with this source code. You can also view the
 * COPYING file online at http://files.froxlor.org/misc/COPYING.txt
 *
 * @copyright  (c) the authors
 * @author     Florian Lippert <*****@*****.**> (2003-2009)
 * @author     Froxlor team <*****@*****.**> (2010-)
 * @license    GPLv2 http://files.froxlor.org/misc/COPYING.txt
 * @package    Functions
 *
 */
function checkMysqlAccessHost($fieldname, $fielddata, $newfieldvalue, $allnewfieldvalues)
{
    $mysql_access_host_array = array_map('trim', explode(',', $newfieldvalue));
    foreach ($mysql_access_host_array as $host_entry) {
        if (validate_ip($host_entry, true) == false && validateDomain($host_entry) == false && validateLocalHostname($host_entry) == false && $host_entry != '%') {
            return array(FORMFIELDS_PLAUSIBILITY_CHECK_ERROR, 'invalidmysqlhost', $host_entry);
        }
    }
    return array(FORMFIELDS_PLAUSIBILITY_CHECK_OK);
}
/**
 * This file is part of the Froxlor project.
 * Copyright (c) 2003-2009 the SysCP Team (see authors).
 * Copyright (c) 2010 the Froxlor Team (see authors).
 *
 * For the full copyright and license information, please view the COPYING
 * file that was distributed with this source code. You can also view the
 * COPYING file online at http://files.froxlor.org/misc/COPYING.txt
 *
 * @copyright  (c) the authors
 * @author     Florian Lippert <*****@*****.**> (2003-2009)
 * @author     Froxlor team <*****@*****.**> (2010-)
 * @license    GPLv2 http://files.froxlor.org/misc/COPYING.txt
 * @package    Functions
 *
 */
function checkMysqlAccessHost($fieldname, $fielddata, $newfieldvalue, $allnewfieldvalues)
{
    $mysql_access_host_array = array_map('trim', explode(',', $newfieldvalue));
    foreach ($mysql_access_host_array as $host_entry) {
        // in mysql access host, using wildcard ('%') is allowed, but
        // the filters won't accept that. By replacing the first wildcard
        // with a '0', we can create "valid" entries:
        //   192.168.1.% becomes 192.168.1.0, which is valid
        //   %.somehost.com becomes 0.somehost.com, which is also valid
        $host_entry_test = preg_replace('/%/', '0', $host_entry, 1);
        if (validate_ip2($host_entry_test, true, 'invalidip', true, true) == false && validateDomain($host_entry_test) == false && validateLocalHostname($host_entry) == false && $host_entry != '%') {
            return array(FORMFIELDS_PLAUSIBILITY_CHECK_ERROR, 'invalidmysqlhost', $host_entry);
        }
    }
    return array(FORMFIELDS_PLAUSIBILITY_CHECK_OK);
}