Форум Diz-Cs.Ru
Преимущества регистрации:
Возможность создания тем
Общение с пользователями
Найдете множество полезной информации
Найдете своих единомышленников
ЗИМА НА DIZ-CS.RU
  • Страница 1 из 1
  • 1
Модератор форума: -SAM-  
Скрипт "Отображение контента по критерию"
Дата: Вс, 13.11.2011, 19:33:19 | Сообщение # 1
Аватарка Данил
OFF
Пользователь
136 Сообщения:
39 Награды:
Skype пользователя:
Скрипт "Отображение контента по критерию"

Описание данного скрипта:
В этом примере демонстрируется, как с помощью 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");   
   ?>

Жизнь никогда не бывает справедливой. Для большинства из нас так оно, пожалуй, лучше.
Дата: Чт, 26.04.2012, 18:19:36 | Сообщение # 2
Аватар не установлен
OFF
Пользователь
54 Сообщения:
2 Награды:
0 Отзывы:
Skype пользователя:
Сайт пользователя:
круто ;)

yes
Сообщение отредактировал igor_boyarskih - Чт, 26.04.2012, 18:27:20
  • Страница 1 из 1
  • 1
Поиск: