<?php

// функция возвращает массив рекламы
function getAllAdv() {
    $adv = array();

    // сканируем файлы рекламы
    $adv_files = glob(ADV_FOLDER . '/*-paid.dat');
    if (! empty($adv_files)) {
        foreach ($adv_files as $item) {
            $data = explode(';', file_get_contents($item));

            // если время еще не закончилось - выводим ссылку, иначе - удаляем файл
            if ($data[3] > time()) {
                // добавляем
                $adv[] = [
                    'url' => $data[1],
                    'title' => $data[2],
                    'color' => $data[4],
                    'bolder' => $data[5],
                    'location' => $data[6],];
            } else {
                unlink($item);
            }
        }
    }

    return $adv;
}

// выводим ссылки
function printAdv($location) {
    // получаем рекламные материалы
    $all = getAllAdv();

    $find = 0;
    // выводим ссылки
    foreach($all as $link) {
        if ($link['location'] == $location) {
            echo '<a href="', $link['url'], '">';
                echo $link['color'] != 'no' ? '<span style="color: ' . $link['color'] . '">' : '';
                    echo $link['bolder'] != 'no' ? '<b>' : '';
                        echo $link['title'];
                    echo $link['bolder'] != 'no' ? '</b>' : '';
                echo $link['color'] != 'no' ? '</span>' : '';
            echo '</a><br />';
            $find++;
        }
    }

    if (! $find)
        echo 'Рекламное место свободно';
}

// получаем количество ссылок по ключу
function getCountLinks($location) {
    $find = 0;
    foreach(getAllAdv() as $link)
        if ($link['location'] == $location)
            $find++;
    return $find;
}

// валидация домена
function domain_valid($domain) {
    return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain)
        && preg_match("/^.{1,253}$/", $domain)
        && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain));
}
