Установка скрипта «Избранное пользователя»

# Введение

Установка скриптового решения займет некоторое время. Пожалуйста, внимательно читайте инструкции и старайтесь следовать всем рекомендациям.

Всем известно, что в любом браузере присутствует функция создания закладок – ссылки на интересные ресурсы или материалы, которые нас заинтересовали. Это очень удобно.
Если вы хотите позволить своим пользователям создавать закладки на страницы в пределах вашего ресурса, представляем вам этот скрипт. Он значительно повысит удобство пребывания на сайте, а помимо этого вы сможете вывести количество пользователей добавивших в закладки прямо в материалах! Вот это действительно завершающий штрих, который частично напоминает функцию "социальных лайков". Материал, который часто добавляют к себе посетители точно привлечёт внимание!

Работает в модулях:
- новости сайта;
- блог;
- каталог статей;
- каталог файлов;
- доска объявлений;
- фотоальбомы.

Преимущества:
- скрипт может работать в двух режимах (с кэшированием закладки или без него);
- внедрена возможность установки максимального количество закладок;
- внедрена возможность удаления одной или всех добавленных закладок одновременно;
- внедрена проверка наличия добавленного материала (режим API). Два раза один материал не добавить;
- один пользователь не сумеет просмотреть закладки другого;
- в списке закладок (на странице пользователя) присутствует вывод типа добавленного материала;
- поддерживается упомянутый в описании вывод количества людей, добавивших в закладки (на странице материала).

Требования к установке:
- активированное PHP;
- использование базового API.

Автор скрипта – Ярослав Олейник, победивший в конкурсе реализации PHP скриптов.

Перед установкой, сделайте полный бэкап шаблонов на случай, если вы в какой-то момент решите вернуть прежний вид сайту или отдельным его элементам. Сделать это можно в Панели управления » Управление дизайном » Backup шаблонов.

# Первый шаг: активация API и PHP

## Активация API

Для работы скрипта, нам необходимо включить возможность использования API, сделать это вы можете перейдя в Панель управления » Верхний-бар: Настройки » Общие настройки.
Почти в самом низу страницы найдите опцию "Разрешить использование API", установите напротив неё галочку, затем прокрутите страницу вниз и сохраните изменения.
Поле "API key" вы можете активировать. В этом случае система сгенерирует специальный уникальный ключ о применении которого речь пойдёт ниже. В случае, если для вас нет разницы использовать API key или не использовать его – можно оставить неактивным.

# Активация PHP

Убедитесь, что на вашем сайте активна услуга PHP. Для этого перейдите на главную страницу панели управления и обратите внимание на правую часть страницы. В случае наличия активной услуги вы увидите текст "PHP детали".
– перейдите к следующему шагу установки, PHP-услуга у вас активна. Если такой текст отсутствует, значит услуга PHP отключена или просрочена. Для подключения PHP необходимо оплатить премиум пакет, включающий возможность использования PHP-скриптов, либо заказать данную услугу отдельно.

# Второй шаг: загрузка скриптов на FTP PHP

## Этап 1. Установка пароля

Если у вас задан пароль к FTP PHP, сразу же переходите к следующему этапу.
Перейдите на главную страницу панели управления вашим сайтом, в правой верхней части нажмите на ссылку «PHP детали».
В открывшемся окне кликните на ссылку: «Пароль не установлен».
Мы попадем на страницу установки пароля на FTP PHP. Заполните поля, продолжайте следовать инструкциям системы.

## Этап 2. Подключение к PHP FTP серверу

После установки пароля, скачайте FTP-клиент, рекомендуем бесплатный FTP клиент FileZilla. После установки программы, в верхней части вводим параметры подключения:

- Сервер: s2000.ucoz.net
- Логин (FTP login): введите свой логин, который указан в меню "PHP детали"
- Пароль: пароль который вы ввели ранее в специальном разделе

После заполнения полей нажмите на кнопку «Быстрое соединение».

## Этап 3. Загрузка скриптов на PHP FTP сервер

После успешного подключения вы увидите каталог под именем «scripts» в правой части окна программы. Обязательно переходим в этот каталог двойным кликом по нему.
Теперь загрузите в этот каталог папку из архива со скриптом «favorite». Загрузить легко, просто перетащите эту папку в правый диалог (где отображаются каталоги и файлы хранящиеся на сервере).
Узнать статус передачи файлов вы можете в окне статуса, которое находится в нижней части программы, там отображаются файлы которые ожидают передачи и те, которые не удалось передать, в частности которые были успешно переданы.

# Третий шаг: загрузка изображений на сайт

Перейдите в Панель управления » Файловый менеджер.
В правом верхнем углу кликните на кнопку "Создать папку", введите название папки img.
Кликните на галочку и ура, мы создали папку с нужным именем!:) Теперь зайдите в папку img и загрузите в неё все файлы, которые находятся в архиве со скриптом (папка "изображения").

# Четвёртый шаг: установка кода

Перейдите в шаблон «Страница материала и комментариев к нему» нужного вам модуля, и в то место, где желаете видеть кнопки добавления в изобранное, разместите следующий код:

    <script type="text/javascript">
        $(document).ready(function(){
    	$.ajaxSetup({cache: false});
    	function load_count(){
    	    $.ajax({
    		type: 'GET',
    		url: '/php/favorite/favorite.php',
    		data: 'type=count&addr=$ENTRY_URL$&mid=$URI_ID$',
    		success: function(otvet){$('#favorite_user').html(otvet);}
    	    });
    	}
    	load_count();
    	$('#add_to_favorite').click(function(){
    	    $.ajax({
    		type: 'POST',
    		url: '/php/favorite/favorite.php',
    		data: 'type=add&addr=$ENTRY_URL$&mid=$URI_ID$&name=<?if($ENTRY_NAME$)?>$ENTRY_NAME$<?else?><?if($ENTRY_TITLE$)?>$ENTRY_TITLE$<?else?>$PHOTO_NAME$<?endif?><?endif?>',
    		success: function(otvet){load_count();
    					 if(otvet==1){$('#favorite_otvet').html('<div class="alert alert-info">Добавлено в избранное</div>');}
    					 if(otvet==2){$('#favorite_otvet').html('<div class="alert alert-success">Уже есть в избранном!</span><br><input type="button" id="$URI_ID$" value="Удалить">');}
    					 if(otvet==3){$('#favorite_otvet').html('<div class="alert alert-danger">Память для избранного переполнена!</div>');}
    					 if(otvet!=1 & otvet!=2 & otvet!=3){$('#favorite_otvet').html('<div class="alert alert-danger">Ошибка</div>');}
    					}
    	    });
    	});
    	$('#favorite_otvet input').live('click', function(){
    	    var mid = $(this).attr('id');
    	    $.ajax({
    		type: 'POST',
    		url: '/php/favorite/favorite.php',
    		data: 'type=delete_one&mid='+mid+'',
    		success: function(otvet){if(otvet==1){load_count();$('#favorite_otvet').html('<div class="alert alert-danger">Удалено!</div>');}}
    	    });
    	});
    	$('#favorite_list').live('click', function(){
    	    new _uWnd('userava_online', 'В закладках', 200, 200,{close: 1,autosize: 0,resize: 0,shadow: 0,
    								 oncontent: function(){$.get('/php/favorite/favorite.php?type=userlist&mid=$URI_ID$', function(data){$('#favorite_userlist').html(data);});}
    								},
    		      '<table id="favorite_userlist" align="left" border="0"><tr><td><img src="/img/loading.gif"></td></tr></table>'
    		     );
    	});
        });
    </script>
         <?if($USER_LOGGED_IN$)?><input type="button" id="add_to_favorite" value="В избранное"><?endif?>
         <div id="favorite_otvet"></div>
         <div id="favorite_user"><img src="/img/loading.gif"></div>

и сохраните изменения.
Затем перейдите в Панель управления » Управление дизайном » Пользователи: Персональная страница пользователя и в желаемое место (где хотите видеть кнопку "смотреть все закладки") разместите код:

    <?if($_IS_OWN_PROFILE$)?>
    <script type="text/javascript">
        $(document).ready(function(){
    	$.ajaxSetup({cache: false});
    	$('#favorite_open').click(function(){
    	    new _uWnd('sps', 'Ваши закладки', 250, 200,{close: 1,autosize: 0,resize: 0,shadow: 0,
    							oncontent: function(){
    							    $.get('/php/favorite/favorite.php?type=view&suid=$_USER_ID$', function(otvet){
    								$('#favorite_block').html(otvet);
    							    });
    							}
    						       },
    		      '<div id="favorite_block" style="text-align:left;"><img src="/img/loading.gif"></div> '
    		     );
    	});
    	$('.favorite_delete').live('click', function(){
    	    if(confirm('Удалить?')){
    		var mid = $(this).attr('mid');
    		$.ajax({
    		    type: 'POST',
    		    url: '/php/favorite/favorite.php',
    		    data: 'type=delete_one&mid='+mid+'',
    		    success: function(otvet){
    			if(otvet==1){
    			    $('img[mid="'+mid+'"]').parent().html('Удалено!');
    			    $('#favorite_count').html(parseInt($('#favorite_count').html())-1);
    			}
    		    }
    		});
    	    }
    	});
    	$('#favorite_delete_all').live('click', function(){
    	    if(confirm('Удалить все записи?')){
    		$.ajax({
    		    type: 'POST',
    		    url: '/php/favorite/favorite.php',
    		    data: 'type=delete_all',
    		    success: function(otvet){
    			if(otvet==1){$('#favorite_block').html('Нет избранного.');}else{$('#favorite_block').html('Ошибка.'); }
    		    }
    		});
    	    }
    	});
        });
    </script>
    <div class="udtb"><div class="udtlb">Закладки:</div><input type="button" id="favorite_open" value="Смотреть избранное"></div>
    <?endif?>

# Пятый шаг: установка стилей

Перейдите в Панель управления » Управление дизайном » Общие шаблоны: Таблица стилей (CSS), в самый низ шаблона разместите код:

    .alert {
        border: 1px solid rgba(0, 0, 0, 0);
        border-radius: 4px;
        margin-bottom: 20px;
        padding: 15px 15px 15px 45px;
        position: relative;
    }
    .alert:before {
        position: absolute;
        top: 50%;
        left: 13px;
        display: block;
        margin-top: -8px;
        width: 16px;
        height: 16px;
        background: url(/img/icon-er.png) no-repeat 0 0;
        content: '';
    }
    .alert-info {
        background-color: #D9EDF7;
        border-color: #BCE8F1;
        color: #31708F;
    }
    .alert-info:before {
        background-position: 0 -16px;
    }
    .alert-warning {
        border-color: #faebcc;
        background-color: #fcf8e3;
        color: #8a6d3b;
    }
    .alert-warning:before {
        background-position: 0 -32px;
    }
    .alert-danger {
        border-color: #ebccd1;
        background-color: #f2dede;
        color: #a94442;
    }
    .alert-danger:before {
        background-position: 0 -48px;
    }
    .alert-success {
        border-color: #d6e9c6;
        background-color: #dff0d8;
        color: #3c763d;
    }

# Шестой шаг: настройка и использование

## Тонкая настройка.

Для управления тонкими настройки, откройте файл favorite.php в любом текстовом редактор, находящийся в папке favorite (которую мы загружали на FTP PHP). Изменять можно следующие настройки:

- `$max_col_fav` — переменная отвечает за максимальное количество закладок (если нужно нелимитированное, указываем 0);
- `$cache` — переменная отвечает за режим работы скрипта (значение 1 – при выводе закладок данные получаються с API, 0 – вывод без API);
- `$max_tlen` — переменная отвечает за длинну заголовка материала (список закладок, персональная страница);
- `$user_like` — переменная отвечает за функцию вывода тех, кто добавил определенный материал в закладки (лайки), значение 1 – включено, 0 – выключено;
- `$api_key` — переменная отвечает за ключ базового API.

Установка завершена. Если у вас возникли вопросы, которые не затрагивались в документации, спрашивайте в комментариях к товару.