/*Онлайн чат*/
Добро пожаловать в чат
Вход / Регистрация
/*Онлайн чат*/ /*TimeLine*/
Обновления на сайте
  • Adrian Monino
    Premium Member
  • /*TimeLine*/

    Скрипт "Отображение контента по критерию"

    Изображение материала
    Информация
    КатегорияPhP скрипты
    АвторГость
    Кол-во просмотров369
    Кол-во скачиваний0
    Кол-во комментарий0
    Ссылка на демоДЕМО
    ИсточникПерейти
    Дата добавления30.01.2012 / 11:35
    Описание

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

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


    PHP скрипт example006.php:
    Code
    <?  
      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:
    Code
    <?  
      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");  
      ?>

    Комментарии
    Добавить комментарий