////////////////////////////////////////////////////////////////////////////////
// JohnCMS                             Content Management System              //
// Официальный сайт сайт проекта:      http://johncms.com                     //
// Дополнительный сайт поддержки:      http://gazenwagen.com                  //
////////////////////////////////////////////////////////////////////////////////
// JohnCMS core team:                                                         //
// Евгений Рябинин aka john77          john77@gazenwagen.com                  //
// Олег Касьянов aka AlkatraZ          alkatraz@gazenwagen.com                //
//                                                                            //
// мануал по JohnCMS                   Автор Гарыныч                          //
////////////////////////////////////////////////////////////////////////////////   

В данном мануале мы затронем самые часто задаваемые вопросы, и подробно объясним что и как.  
                                 Инструкция по использованию системы JohnCMS
1.1. Установка системы.  
Для нормальной работы системы, необходимы следующие условия:
1) Версия PHP не ниже 5.1
   на более старых версиях работа не гарантируется
2) MySQL версии не ниже 4.1
3) Поддержка .htaccess


УСТАНОВКА СИСТЕМЫ
На некоторых хостингах корневая папка может быть "www" или "public_html" в этом разницы нет, далее..
1) Распаковываем архив
2) Заливаем все распакованные файлы на хостинг, в корневую папку.
3) Выставляем права доступа 777:
   /incfiles
   /gallery/foto
   /gallery/temp
   /library/files/
   /library/temp/
   /pratt/
   /forum/files/
   /forum/temtemp/
   /download/arctemp/
   /download/files/
   /download/graftemp/
   /download/screen/
   /download/mp3temp/
   /download/upl/
4) Выставляем права доступа 666:
   /flood.dat
   /panel/filebase.dat
   /library/java/textfile.txt
   /library/java/META-INF/MANIFEST.MF
5) Запускаем инсталлятор по адресу http://ваш_сайт/install
6) Запустится процедура проверки.
   Если какие-то пункты выделены красным цветом, то нормальная работа
   системы не гарантируется. Чаще всего проблемы возникают при неправильных
   настройках PHP вашего хостинга, или из-за слишком сильных ограничений.
   Например, на некоторых хостингах не работает .htaccess
   Если проверка прошла нормально, жмем ссылку "Продолжить"
7) Вводим параметры Вашей базы данных MySQL
   Обратите внимание, что когда указываете адрес сервера MySQL, то на
   некоторых хостингах это может быть "localhost", а на других нужно
   указывать полный адрес, например "mysql.myhost.com"
   После жмем ссылку "Продолжить"
8) Вводим данные Администратора системы и жмем ссылку "Продолжить"
9) Если все было введено правильно, то запустится процедура установки
   базы данных MySQL, после завершения которой, установка завершена.

Если процедура установки прошла успешно и сайт работает,
НЕ ЗАБУДЬТЕ следующее:
   - удалите каталог /install
   - установите права доступа 755 к папке /incfiles
   - установите права доступа 644 на файл /incfiles/db.php
На этом этапе мы закончили, рассмотрение установки системы. 

2. Система установлена, с чего начать? 
После установки системы, не торопитесь что либо делать, посмотрите, по изучайте. 
После того как посмотрели систему, можно приступить к ее настройке, в этом ничего сложного нет. 
Как известно все настройки находятся в админ панели.  

3. Админ панель  
1. Панель администратора находится в верхней части сайта "Личное"  
перейдите в раздел "Личное" Вы попадете а административную часть панели. 
в которой можете увидеть разделы 
Личная почта
Админ-Клуб 
Ваша анкета
Статистика
Настройки
Админка >>>  
1.1. Описание разделов 
Личная почта - это хранилище ваших сообщений, присланными другими пользователями, т.е. приватная почта. 
Админ-Клуб - это комната администрации, в которой админ состав может общаться между собой. 
Ваша анкета - это ваша персональная анкета, которую вы можете редактировать, и изменять. 
Статистика - это общий сбор сведений по всему сайту. Статистика фиксирует сколько всего сообщений на форуме, в чате и.т.д. 
Настройки -  данный раздел отображает как ваши настройки, так и общие настройки сайта.  
Админка >>> это главная панель администратора, в которой отображаются различные настройки, а так же модули. 

2. Панель администратора из нутри. 
Панель администратора довольно богато смотрится, и имеет хороший функционал. об этом мы подробно сейчас расскажем. 
Перейдя в панель управления Вы можете увидеть  следующее.
Пользователи
Всего в базе: 0
На регистрации: 0
Забаненных: 0
Поиск
Бан-панель

Модули (вкл/выкл)
Форум
Чат

Бан по IP
Сканер файлов
Настройки

Теперь по каждому разделу, и подробно. 

2.1. Пользователи
Всего в базе: 0
На регистрации: 0
Забаненных: 0 
думаю тут и так Вам понятно, что это статистика пользователей, в которой показано, общее число зарегистрированных на сайте, сколько забаненых, и сколько находятся на модерации.  

2.2. Поиск 
С помощью поиска, администратор может найти любова пользователя, как по нику, так и по ID 

2.3. Бан-панель  
Бан- панель, отображает список пользователей находящихся в Бане. 

2.4. Модули (вкл/выкл)
Данный раздел отображает модули, см. ниже
регистрация
 форум
 чат
 гостевая
 библиотека
 галерея
 загрузки  
 Администратор имеет возможность включать эти модули, ставя напротив галочку, и отключать, сняв галочку. 
 
 2.5. Форум  
 В данном разделе находится полный контроль над форумом. В разделе "Форум" администратор может: создавать разделы, и категории, 
 просматривать и удалять, просматривать скрытые посты и темы, перемещать вверх и вниз и редактировать подфорумы. 
 
 2.6. Чат 
 В разделе чат, администратор может: создавать и перемещать новые комнаты. По умолчанию уже включены две комнаты: Викторина, в которой можно развлечься отвечая на вопросы Умника, тем самым зарабатывая балы. И комната Интим. 
 комната Интим достаточно интересная. Чтобы попасть в комнату Интим, Вам нужно создать личный пароль, и дать этот пароль своему партнеру. кроме Вас двоих в эту комнату некто не зайдет. 
 
 2.7. Бан по IP 
В данном разделе администратор может, заблокировать того или иного пользователя. 
Вид блокировки:
Закрыть доступ на сайт
Закрыть регистрацию
Редирект 

2.8. Сканер файлов 
Данный модуль позволяет проводить сканирование директорий сайта и выявлять подозрительные файлы. 
Режим сканирования: 
Дистрибутив
Выявление "лишних" файлов, тех, что не входят в оригинальный дистрибутив. 

По образу
Сравнение списка и контрольных сумм файлов с заранее сделанным образом.
Позволяет выявить неизвестные файлы, и несанкционированные изменения. 
и 
Создание образа
Данная процедура делает "снимок" всех скриптовых файлов сайта, вычисляет их контрольные суммы и запоминает в базе.  

2.9. Настройки 
В данном разделе, имеются не которые настройки связанные с сайтом. 
Администратор может, включать и отключать: 
GZIP сжатие 
мод. регистрации
мод. форума
гостевая для гостей 
и многое другое.

В данной инструкции мы пояснили ход установки системы JohnCMS, и описали функциональность админ панели.    

Следующий задачей будет создание часто задаваемых вопросов, по иному F.A.Q.  

1. Где скачать систему JohnCMS? 
Систему можно скачать на официальном сайте http://johncms.com , система скачена с других сайтов, поддержка не оказывается.  

2. Можно ли убрать копирайт с системы JohnCMS?  
Вы можете убрать внешний копирайт, но оставив ссылку на главной странице "Ф Газенвагенъ" сроком на 2 месяца, или на оборот. 
Внутренний копирайт системы, который находиться в файле head.php , удалять категорически запрещено!!! 

3. Как удалить копирайт? 
удалить копирайт Вы можете перейдя incfiles/end.php 
в файле end.php нужно найти строку: 
// Данный копирайт нельзя убирать в течение 60 дней с момента установки скриптов
echo '<div class="end"><a href="http://johncms.com">JohnCMS 2.0.0</a><br />';  
и удалить строку полностью: echo '<div class="end"><a href="http://johncms.com">JohnCMS 2.0.0</a><br />'; 

4. Я хочу закоментировать строчку, как это сделать? 
Что бы закоментировать строчку, нужно в начале сточкой поставить // 
Пример : // система JohnCMS - мы закоментировали строчку. 

5. В какую папку загружать смайлы? 
Смайлы находятся в папке "sm" перейдя в папку "sm" Вы увидите 3 папки "adm" "cat" и "prost" 
В них находятся смайлы. Вы просто выбираете папку , в какую хотите загрузить свои смайлы. 
После загрузки Ваших смайлов, они автоматически появятся в категориях Смайлы. 

6. Как добавить ссылку на главную? 
Все ссылки прописываются в файле mainmenu.php. Чтобы добавить ссылку на главную, перейдите 
в папку pages/mainmenu.php 
В mainmenu.php вписывайте свою ссылку, и она появится на главной. 
Если Вы хотите добавить ссылку сайта на главную, то нужно писать следующие:  
echo '<div class="bmenu"><a href="http://ваш сайт.ru">Название сайта</a></div>'; 

Если Вы установили скрипт, и хотите вывести ссылку на главную, то нужно сделать следующее: 
echo '<div class="menu"><a href="имя папки со скриптом/">Название</a></div>';  
вот и все. 

7. Как создать страницу в системе JohnCMS? 
Создать страницу можно так: 
<?php

define('_IN_JOHNCMS', 1);
$textl = 'Заголовок скрипта';
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");
header("Content-type:text/html; charset=utf-8");


echo'Ваш код, либо текст';


echo $file;
require_once ("../incfiles/end.php");

?>
страница готова.

8. Как и куда вставить счетчик? 
Счетчик вставляется не посредственно в файле end.php 
В файле end.php находим следующее: 
// Тут, вставляем коды счетчиков, которые будут выводиться
    // ТОЛЬКО на главной странице сайта
    echo '';  
Свой код нужно вставить тут echo 'Ваш код'; между кавычек. 
Тогда см. выше, код будет показан только на главной странице сайта. 
аналогичные действия делаем, если нужно счетчик поставить на другие страницы, кроме главной. 
Тут, вставляем коды счетчиков, которые будут выводиться
    // на ВСЕХ страницах сайта, кроме Главной
    echo ''; 
Вставляем свой код между кавычек echo 'Ваш код'; 
сохраняем, и код счетчика появляется на других страницах. 

9. Где заменить лого и как его вставить? 
Сменить стандартное лого на свое, можно следующим образом: 
Нужно загрузить свой логотип в папку images, папка находиться в корневой каталоге. 
затем загрузить свое лого в папку default\images 
если у вас есть свой дизайн, и есть своя папка, то логотип нужно загрузить и в свою папку с дизайном. 
после данных операций, смена логотипа законченно. 

10. Как сделать вывод новостей на главную? 
это очень просто. 
в файле mainmenu.php в самом начале ищем строчку, она закоментирована, и проблем не будет. 
$headnews = false; // По умолчанию false. Если нужно выводить новости, поставьте true //это ваш код. 
чтобы вывести новости на главную, нужно изменить false на true и мы получим следующий код: 
$headnews = true; теперь новости будут выводится на главную. 

11. Как сделать вывод одной новости на главную? 
В файле mainmenu.php, в коде $nw = mysql_query("select * from `news` order by time desc LIMIT 2;"); 
изменить цифру 2 на 1. т.е. 
$nw = mysql_query("select * from `news` order by time desc LIMIT 1;"); 
теперь будет вывод одной новости на главную. 

12. Как адаптировать простые граббы? 
Это делается также как и создание новой страницы 
<?php

define('_IN_JOHNCMS', 1);
$textl = 'Заголовок скрипта';
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");
header("Content-type:text/html; charset=utf-8");


echo'Ваш код, либо текст';


echo $file;
require_once ("../incfiles/end.php");

?>  


13. Как написать грабб?  
<?php
/*
Любой граббер для удобства можно разделить на ТРИ основных части-этапа:
-получение
-обработка
-выдача

Получение.
Для того, что бы граббер нормально функционировал необходимо написать функцию для получения
страницы с удаленного хоста по заданному url, надежнее пользоваться сокетами
(потому что библиотека CURL установлена не везде и не всегда, использовать file_get_contents()
и комбинации implode('',file(..)) конечно тоже можно, просто сокет предоставляет побольше возможностей.
Напишем функцию получения страницы по урл.
*/

function data($path,$host)
{
/*
$path путь к файлу скрипта, а так же передаваемые параметры
$host сграббливаемый хост (например, sasisa.ru)
*/
$fp = fsockopen($host, 80);
if (!$fp)
{
die('ошибка');
}
else
{
$out = "GET $path HTTP/1.0\r\n";
$out .= "Accept: image/gif, application/xhtml+xml, */*\r\n";
$out .= "Accept-Language: ru\r\n";
$out .= "Host: $host\r\n";

//прикинемся оперой-мини
$out .= "User-Agent: Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1716; ru; U; ssr)\r\n";

$out .= "Cache-Control: no-cache\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
$headers = "";

while ($str = trim(fgets($fp)))
$headers .= "$str\n";

$body = "";

while (!feof($fp))
$body .= fgets($fp);
fclose($fp);
}
//возвращаем данные
return $body;
}

/*
Итак, функция для получения страницы готова, теперь составим функцию для обработки данных, тоесть для
выреза рекламы, подмены ссылок итп
*/

/*
function process($s)
{
Здесь сложно дать какие-то рекоммендации, все "грабберописание" состоит в основном в
придумывании этой функции, сделаем пока что "заглушку" на этом месте

return $s;
}
*/

/*
Для корректной работы грабба необходимо теперь правильно определять переменную $path, для примера давайте 
граббить
всем известный http://wen.ru/forum/index.php
пример очень характерный, потому что многие "потенциальные жертвы" грабов (загруз центры например)
состоят как раз из одного файла
*/

//с хостом определились
$host='wen.ru';

if (empty($_SERVER['QUERY_STRING']))
{
//начальная позиция
$path='/forum/index.php';
}
else
{
//новые параметры
$path='/forum/?'.$_SERVER['QUERY_STRING'];
}

/*
теперь необходимо зайти на страницу форума и посмотреть ее в коде
видно что ссылки выдаются так
<a href="/forum/?p=1&amp;f=1&amp;w=htm">Общение</a>
для работы грабба достаточно изменить ссылку так
<a href="index.php?p=1&amp;f=1&amp;w=htm">Общение</a>
что и сделаем в функции process
*/


/*function process($s)
{
$s=str_replace('<a href="/forum/','<a href="index.php',$s);
return $s;
}*/

//можно в принципе запускать :) (ПЕРВЫЙ ЭТАП)
$s=data($path,$host);

//обрабатываем (ВТОРОЙ ЭТАП)
$s=process($s);

//выдаем результат (ТРЕТИЙ ЭТАП)
/*
третий этап не так прост как кажется, если вы граббите загрузки, то
необходимо организовать переадресацию на прямую ссылку с контентом
*/
header('Content-type:text/html;charset=utf-8');
echo $s;

/*
как видим, граббер вполне работает, только не грузятся смайлики,
давайте подкорректируем это и впишем свой копирайт на страницу :)
*/

function process($s)
{
$s=str_replace('<a href="/forum/','<a href="'.$_SERVER['SCRIPT_NAME'],$s);

//смайлы
$s=str_replace('<img src="','<img src="http://wen.ru/',$s);

//копирайт
$s=str_replace('</body>','<div>(c)snippets</div></body>',$s);

return $s;
}

/*
разумеется, вы не сможете написать в тему или создать ее, тут надо использовать
POST запросы, задача этой статьи не создание флудер-скрипта а ознакомление с
принципами написания грабберов.
*/

?>  


14. Как импортировать файлы? 
Для того чтобы импортировать файлы, зайдите в раздел "Загрузки" и выберите пункт "Импорт файла" 
вставляйте ссылку, и краткое описание файла, далее жмем кнопку загрузить. И фаил импортируется. 

15. Распаковал архив, но файлов нет. Что делать? 
После того как вы распаковали архив, на хосте, и файлы не появились, нужно зайти на сайте в раздел "Загрузки" 
и нажать кнопку "обновить" файлы должны появиться. 

16. В каком файле редактировать "Быстрый переход" ? 
Быстрый переход редактируется в файле end.php. 
Внимание!!! прежде чем что-то редактировать, делайте бэкап сайта. Или имейти дополнительные файлы, на случий замены. 

17. Какой выбрать платный и качественный хостинг? 
На сегоднишний день, рынок хостингов достаточно широк, и есть из чего выбрать. 
На данный момент хорошие и качественные хостинги предоставляются по адресу: 
http://mchost.ru и http://1gb.ru 
А какой выбрать хостинг, это дело каждого.

18. Сменил себе ник, и возможности суперадмина стали урезаны, что сделать? 
Если меняете ник себе, то нужно в базе в таблице settings сменить nickadmina на ваш новый. 

19.  Как убрать надпись Adm возле ника? 
Зайдите к себе в админ панель, выберите свою анкету, и нажмите редактировать. 
В самом низу вашей анкеты, выберите пункт  "Обычный юзер" и нажмите сохранить. 
Надпись Adm пропадет, и вы также останетесь супер администратором. НО!!! не меняйте пароль на другой, или вы навсегда останетесь обычным юзером. 

