Advertisement
Al_Faqun

/Phenya/index.php

Aug 21st, 2016
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.12 KB | None | 0 0
  1. <?php
  2.     ob_start();  //выводим всё дальнейшее содержимое в буфер
  3.  
  4.     /* главный скрипт */
  5.     //раздел объявления констант
  6.     include_once('__php__.php');                                //этот скрипт ищет и задаёт файловый рут сайта (DOC_ROOT)
  7.     include_once(DOC_ROOT . '/Phenya/helpers.inc.php');
  8.     define('CSS_PATH', DOC_ROOT . '/Phenya/stylesheet.css');
  9.     define('CHANGE_LOG', DOC_ROOT . '/changelog.txt');
  10.     $color_on = true;                                           //начальное значение переключителя цвета текста
  11.  
  12.     //перво-наперво разбираемся с чейндж-логом
  13.     $changes = file(CHANGE_LOG, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
  14.     $change_tpl = DOC_ROOT . '/Phenya/tpl_changes.php';
  15.  
  16.     //обрабатываем нажатие кнопки "новая цитата"
  17.     if (isset($_GET['new_quote'])) {
  18.         header('Location: ' . "/Phenya/Admin/", true);         //перемещаем пользователя на страничку админки
  19.     }
  20.  
  21.     //обрабатываем возможное нажатие кнопки цвета
  22.     include 'dis_color.php';
  23.  
  24.     //подключаемся к базе данных mysql, получаем объект $mysqli
  25.     $config = parse_ini_file(DOC_ROOT . '/ini/config_phenya.ini');
  26.     include DOC_ROOT . '/includes/db.inc.php';
  27.  
  28.     //получаем диапазон номеров цитат
  29.     $sql = 'SELECT MIN(id), MAX(id) FROM `quotes`';
  30.     $result = $mysqli->query($sql);
  31.     if (!$result)
  32.     {
  33.         $error = 'Error fetching quotes of Phoenix from db!';
  34.         include DOC_ROOT . '/error.html.php';
  35.         exit();
  36.     }
  37.     while ($row = mysqli_fetch_array($result))
  38.     {
  39.         $min = $row[0];
  40.         $max = $row[1];
  41.     }
  42.  
  43.     $id[0] = 0;
  44.     $count = 6;                                 //число получаемых цитат
  45.     for ($i = 0; $i < $count; $i++)             //для каждой цитаты из базы
  46.     {
  47.          do {
  48.             do {
  49.                     $temp_id = mt_rand($min, $max);                 //выбираем случайный номер цитаты
  50.                 }
  51.                 while (array_search($temp_id, $id) !== FALSE);      //проверяем список номеров цитат на дубликаты
  52.             $id[$i] = $temp_id;                                     //записываем номер цитаты, которую будет получать
  53.  
  54.             //получаем текст цитаты
  55.             $sql = "SELECT `quote` FROM `quotes` WHERE `id` = $id[$i]";
  56.             $result = $mysqli->query($sql);
  57.             if (!$result)
  58.             {
  59.                 $error = 'Error fetching quotes of Phoenix from db! ' . $mysqli->error;
  60.                 include DOC_ROOT . '/error.html.php';
  61.                 exit();
  62.             }
  63.         }
  64.         while (mysqli_num_rows($result) == 0);                      //проверка: если цитата с выбранным номером не существует
  65.         $citations[] = mysqli_fetch_array($result)[0];              //записываем текст цитаты
  66.     }
  67.     $tpl = DOC_ROOT . '/Phenya/tpl_citations.php';                  //файл с главным текстом веб-страницы (шаблон)
  68.     include 'tpl_main.php';                                         //вызываем общий шаблон страницы
  69. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement