Теперь все скрипты доступны в обновленном формате в нашем магазине USCRIPT.PRO

Перейти в магазин

Добавил: jon
Отображение контента по критерию
     В этом примере демонстрируется, как с помощью php-скрипта ограничить показ картинки в зависимости от возраста пользователя сайта, который пытается ее просмотреть. Для этого скрипт использует API системы uCoz. При нажатии на кнопку "Просмотреть фото" скрипт выполняет запрос о данных пользователя посредством API, сравнивает полученный возраст пользователя с критерием (должен быть не меньше 18 лет) и, в случае соответствия ему, отображает картинку. Исходный код данного примера приведен ниже.

В шаблоне страницы:

<div align="center">
    <p>
        <b>Данный пример демонстрирует использование скрипта для ограничения просмотра контента в зависимости от возраста</b>
    </p>
</div>
<hr>
<?$PHPCODE$("http://phpexample.ucoz.net/php/example006/example006.php")?>


PHP скрипт example006.php:

<?
if (count($_POST)>0)
{
    $___notjson=1;
    if (!$_uid=ucoz_getinfo("SITEUSERID"))
    {
        echo "$('#error').html('Невозможно идентифицировать пользователя')";
        return;
    }
    $context = stream_context_create(array('http' => array('method' => "GET", 'header' => "Content-Type: text/xml",'timeout' => 8)));
    $file = file_get_contents("http://phpexample.ucoz.net/api/index/8-$_uid", false, $context);
    if (strpos('200', $http_response_header[0]) || !$file)
    {
        echo "$('#error').html('Не могу получить данные, попробуйте позже')";
        return;
    }
    $response = xmlrpc_decode($file,"utf8");
    if ($response && xmlrpc_is_fault($response))
    {
        echo "$('#error').html('Не могу получить данные, попробуйте позже')";
        return;
    }
    if ((int)$response['USER_AGE']<18) echo "$('#error').html('Вы не можете просмативать данный материал, т.к. вам не исполнилось 18 лет')";
    else
    {
        file_put_contents('allowedusers', "$_uid\n", FILE_APPEND);
        echo "$('#error').html('<img height=\"480\" width=\"640\" src=\"/php/example006/getimg.php\">')";
    }
    return;
}
?>

<div id='error'><b>Фото: мокрая киска</b><p>*внимание, просмотреть фото вы можете только, если вам испольнилось 18 лет</p></div>
<form action="/php/example006/example006.php" method="post" onsubmit="_uPostForm(this,{dataType:'script'});return false;" onerror="alert('Error');">
<input type="hidden" name="none" value="1">
<p><input type="submit" value="Просмотреть фото"></p>
</form>

PHP скрипт getimg.php:


<?
if (!$_uid=ucoz_getinfo("SITEUSERID")) return;
$lines=file('allowedusers');
$allow=0;
foreach ($lines as $line_num => $line)
{
    trim($line);
    if ($line==$_uid)
    {
        $allow=1;
        unset($lines[$line_num]);
    }
}
file_put_contents('allowedusers',$lines);
if (!$allow) return;
header('Content-Type: image/jpeg');
readfile("./example006.jpg");
?>


Добавлен 28.03.2011
комментарии:
Admin7587 Спам 16.11.2011 20:34
Admin7587 Подскажите, а как этот скрипт применить для одной определенной категории фотоальбома?
Руслан Спам 15.08.2011 16:34
я подключил php,но оно не работает тока деньги зря потратил :((оет
Olsiva Спам 15.08.2011 17:18
Olsiva Читайте внимательно мануал по использованию php. Наверняка ведь что-то не так сделали.
Арман Спам 04.08.2011 19:52
Класс теперь будет бесплатное dle /
Интересно а связь с базой какая ????
Axel Спам 06.07.2011 22:54
Axel А можно сделать примерно такой же запрос касательно возраста, только используя API? и как это сделать?
Покажите хороший пример как сделать этот самый Get-запрос страницы через API и как потом из этого получить значение возраста?...
Помогите плиззз...
jon   [Разработчик] Спам 30.07.2011 11:26
jon Вы это пример внимательно посмотрите, он демонстрирует как раз то, о чем вы спрашиваете
Андрей Спам 05.06.2011 23:20
Обращайтесь - 591394619(ася). Сделаю за 500руб.
Людмила Спам 10.05.2011 21:03
Зделать такой скриптик непроблема, я писала когдато нечто подобное, были бы у меня на счету укоза денежки то подключила бы услугу PHP и поэксперементировалабы. avon_kms @ mail . ru
Ринат Спам 05.04.2011 15:34
Отправил свой пост в обратную связь.
Получил вот такой ответ:

------------------------
Мы планируем, что пользователи смогут предоставлять свои скрипты для примеров
и, возможно, писать наиболее актуальные, о которых многие просят. Поэтому
предложенная вами идея реализации скрипта возможно и будет воплощена кем-то.
------------------------

Интересно что-бы это могло значить, типо помоги себе сам? :)

Роман Спам 03.04.2011 13:44
Полностью поддерживаю тему, у меня тоже сайт с обоями, и эта функция была бы очень кстати.
Ринат Спам 01.04.2011 09:28
Здравствуйте.

Имеется сайт http://wallpapers-zone.ru/ на хостинге ucoz, обои для рабочего стола.
Проблема вот в чем: не функции резки обоев по разрешениям (ну как на большинстве таких сайтов)
(2560х1600, 1600x1200, 1280x1024, 1152x864, 1024x768)
php я почти незнаю.

Я с укозом 2года и стараюсь делать сайты для людей, и дополнять их всех необходимым функционалом.
На это не всегда получается так-так функции ограничены. Думаю что подключение php вдохнет новую жизнь в систему укоз :)

Очень надеюсь что вы поможете мне с моей проблемой и создадите скрипт для обрезки обоев по разрешениям монитора (адаптированный под укоз),
к тому же это очень актуально.

Заранее спасибо.

--------------

P.S. - Весьма яркий пример вы можете видеть на странице: http://www.wallon.ru/photo/men/ocharovatelnyj_muzhchina/47-0-30854
Сайт так-же на хостинге укоз, но функция обрезки транслируется со стороннего сайта - ltstudio.ru

Думаю что это еще раз показывает всю актуальность данного функционала.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]