МИНИблог МАКСИмова

Автор блога:
Все рубрики (20)
SEO (1)

Плагин ’Похожие статьи’

Плагин добавляет вконец статьи ссылки на другие статьи с такими же тэгами.



Установка:
- распаковать в папку с плагинами.
- в админке, в разделе плагины запустить установщик и включить.
- подкорректировать дизайн под себя

Архив обновлен
http://instantcms.ru/users/files/download340.html

В новой версии:
- убрана ссылка на саму статью
- убран заголовок если похожих статей нет
- добавлена настройка максимального количества статей  
- добавлено "перемешивание" списка статей (включается-отключается в настройках)

Убираем возможность минусовать.

- Минус на минус, получается здоровая ячейка общества.
(Стиляги)
Безусловно, система оценок на социальных сайтах важна и нужна.
Но может так случиться, что в неком конкретном проекте
захотите отказаться от отрицательных оценок оставив возможность плюсовать.

К сожалению, отключить-включить рейтинг и карму не предусмотрено,
да это и не то, что задумали. Поэтому ковыряем файлы сами.


1. Чтобы не дать минусовать рейтинги:
в файле /core/lib_karma.php закомментировать 3 строки начинающиеся с
Код PHP:
$control .= '<a href="javascript:void(0);" onclick="minusKarma

2. Чтобы убрать из интерфейса пользователя кнопку минуса Кармы в файле /core/classes/user.class.php комментируем строку
Код PHP:
$minus = '<a href="/users/karma/minus/'.$user_id.'/'.$inUser->id.'" title="Карма -"><img src="/components/users/images/karma_down.gif" border="0" alt="Карма -"/></a>';

3. У пользователя осталась возможность минусовать послав запрос на адрес /users/karma/minus/*/*
что бы лишить и ее в файле /components/users/frontend.php правим строку
Код PHP:
$points = ($sign=='plus' ? 1 : -1);
меняем -1 на 1 (или 0), тогда тот, кто захочет проминусовать прямым запросом на самом деле сплюсует или отметиться нулем в карме.

Вроде все!
Теперь можно задуматься и о смене в терминологии
например, вместо "одобрить" писать - похвалить, поблагодарить, плюсануть,  
а рейтинг или  карма могут стать неким уровнем, силой, важностью и т.д.

Видегалерея flv на основе универсального каталога

- Билли! Заряжай!..

Установка:
Распаковать и залить (с заменой) файлы на сайт.

- архив обновлен под версию 1.5.3
- добавлена возможность заливать видео пользователями
- исправлен глюк с отсутствием поля для фото


В настройках каталога добавлен дополнительный выбор типа – Видеоальбом:



На странице добавления записи в видеоальбом добавлено поле для загрузки flv-файлов:



Вот как выглядит каталог видео:



Так просмотр записи:

Пример фильтра для автозамены

И просто-просто-просто-просто-просто сосиски.

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

- Почему?
- Да потому, что фильтр состоит из одной строчки кода . smile

Впрочем, и в таком виде фильтр может использоваться для подсветки и выделения ключевых слов.


1. В каталоге с фильтрами – /filters создаем новую папку f_searchreplace.

2. Внутри создаем новый файл и пишем примерно следующее

Код PHP:
<?php
function f_searchreplace(&$text){

	// массив слов для поиска
	$search[1] = 'InstantCMS';
	$search[2] = 'хостинг';

	//массив слов для замены
	$replace[1] = '<a title="Лучшая CMS" href="http://instantcms.ru">InstantCMS</a>' ;
	$replace[2] = '<a title="Лучший хостинг для вашего сайта" href="http://обойдусь без рекламы">хостинг</a>' ;

	$text = str_replace ($search,$replace,$text);
}

?>

3. Сохраняем под именем filter.php

4. Устанавливаем фильтр, выполняя sql-запрос
Код PHP:
INSERT INTO cms_filters VALUES ("", "Поиск и замена", "Ищет и заменяет слова с массива", " f_searchreplace", "1");
5. Настраиваем свои слова для поиска и замены текста

Ну или просто распаковываем архив в папку с фильтрами и выполняем sql-запрос.

Файлы для своих

Немного изменил фильтр {СКАЧАТЬ=url}

Теперь ссылка видна только зарегистрированным пользователям.
http://instantcms.ru/users/files/download310.html
Что бы заменить существующий фильтр надо просто распаковать с заменой
файлы из архива в папку с фильтрами.

Или можете поставить дополнительный фильтр {СКРЫТЬ=url}
http://instantcms.ru/users/files/download311.html
Для установки фильтра требуется распаковать архив в папку filters
и выполнить SQL-запрос который прописан в коментах файла.

description и keywords статьи из описания и тэгов

- Боевой листок должен быть боевым листком,
ведь это же боевой листок!

При создании статьи на вкладке SEO есть возможность самому добавлять метаданные страницы
Но при частом добавлении каждый раз открывать вкладку, придумывать и писать данные утомительно.
Конечно, есть галочка "Автоматически сгенерировать ключевые слова и описание" но автоматика может сгенерировать такого, что для СЕО будет только хуже.

Beekeeper предложил сделать, так что бы описание страницы и было description,
а тэги статьи - keywords’ами.
Во-первых, это удобнее писать - не надо 2 раза бегать.
Во-вторых, с точки зрения SEO-оптимизации вернее - на странице кейвордсы будут не просто слова в тексте, а ссылки

Простой вариант решения.

В файле admin\applets\content.php
в двух местах находим и удаляем
Код PHP:
if ($inCore->inRequest('autokeys')){
    $article['meta_keys'] = $inCore->getKeywords($article['content']);
    $article['meta_desc'] = $article['title'];
}

После строк (тоже в 2 местах)
Код PHP:
$article['tags']            = $inCore->request('tags', 'str');
Вставляем
Код PHP:
if ($inCore->inRequest('autokeys')){
    $article['meta_keys'] = $article['tags'];
    $article['meta_desc'] = $article['description'];
}

Теперь при указании "Автоматически сгенерировать ключевые слова и описание"
Мета-описание и мета ключи будут браться из тэгов и описания страницы.

Возможность задавать метаданные самому на вкладке SEO осталась.

Если нет желания копаться в коде, вот файл с уже внесенными изменениями,
распакуйте и замените на admin/applets/content.php

Дыра в InstantCMS

Обнаружил уязвимость которая позволяет злоумышленнику залить shell на сервер.
Подвержены все версии, в том числе и последняя - 1.5.3.

Способ устранение уязвимости:
Удалить файл /wysiwyg/editor/filemanager/connectors/php/upload.php