[Хаки]-InstantCMS2

Тема в разделе "InstantCMS", создана пользователем DataPro, 16 ноя 2014.

Модераторы: Maybe
  1. DataPro

    DataPro Natapro

    Регистр.:
    21 авг 2009
    Сообщения:
    180
    Симпатии:
    68
    В данной теме
    Публикуются коммерческие и собственные Хаки дляICMS 2 и выше.

    Перечень Хаков:
     
  2. DataPro

    DataPro Natapro

    Регистр.:
    21 авг 2009
    Сообщения:
    180
    Симпатии:
    68
    Как заменить стандартную капчу (Captcha) в InstantCMS 2.0.1 и зарабатывать на капче
    [​IMG]
    Как заменить стандартную капчу (Captcha) в InstantCMS 2.0.1 и зарабатывать на капче

    Скорее всего я не один такой, кого не устраивает стандартная Captcha в InstantCMS. Довольно таки муторная штучка, голову сломаешь пока её наберёшь. Вот пример:



    [​IMG]Например, как у меня есть городской портал на данном движке (инстант цмс), и что бы пользователю иметь возможность полноценно использовать возможности данного сайта, ему необходимо зарегистрироваться. Ну а при регистрации соответственно нужно правильно набрать капчу, что сделать довольно таки не просто.


    Не у каждого терпения на это хватает. А это значит, клиент (посетитель) проходит мимо. Скажем, что бы опубликовать обычное объявление в пару строк, пользователю прежде приходится прилично попотеть разгадывая иероглифы заданные в капче.

    Анализируя поведение пользователей на сайте с помощью вебвизора (яндекс мертрика), не раз убеждался в том, что после каждой второй не правильной попытки набрать капчу посетитель уходит.

    Следовательно, для удобства пользователей капчу необходимо упростить. Сегодня я опишу один способ, замены стандатртной капчи винстант цмс на более лёгкую.

    Установив новую капчу вы убьёте сразу двух зайцев. Во первых облегчите задачу посетителей своего сайта при наборе капчи, так как новая намного легче стандартной. Во вторых получите дополнительный пассивный заработок.

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

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



    [​IMG]



    С каждого правильно введённого текста вам будет идти 0.10 руб, а с каждого клика по баннеру 0.5 руб.

    На сайте (parrotify.com) предоставляющем данную капчу имеется личный кабинет с возможностью настроить рекламный баннер и определить тематику рекламы, которая будет показываться в капче. Так же имеется возможность видеть статистику, это просмотры баннера, клики по нему и доход с клика.



    [​IMG]



    Так же специалисты компании могут создать бесплатно любой баннер с нужной вам рекламмой. Для этого ннеобходимо отправить заказ на изготовление баннера, где указать пожелания как он должен будет выглядеть, задать цвет, определить текст и другие параметры, которые вам нужны.

    Данная капча интегрируется почти во все известные CMS и E-Commerce системы. А если в списке нет вашего движка, я думаю можно обратиться к владельцам сайта с просьбой создать код для вашей CMS. Например для InstantCMS код вставки был разработан по просьбе трудящихся недавно.

    Ну а теперь собственно о том, как установить новую капчу с рекламой на ваш сайт под управлением InstantCMS.

    Для начала зарегистрируйтесь на сайте (parrotify.com), добавьте сайт на который будете ставить новую капчу. Для этого зайдите во вкладку Площадкам, расположенную в верхнем меню, ниже нажмите зелёную кнопку Добавить площадку, далее Добавить домен.

    Теперь можно вставлять код. Для этого создайте на компьютере пустую папку с именем — parrotifyCaptcha, в этой папке создайте два файла: frontend.php и manifest.php.

    В файл - frontend.php поместите вот этот код:

    <?php

    class parrotifyCaptcha extends cmsController
    {
    const validateURL = 'http://api.parrotify.com/validate';

    public function onCaptchaHtml($params=array())
    {
    $html = '<div id="parrotify_captcha" style="padding-bottom:.5em"><script src="http://api.parrotify.com/start.js"></script></div>';
    return $html;
    }

    public function onCaptchaValidate($request)
    {
    $cookie = $_COOKIE["_cpathca"];
    $data = array(
    'captcha[value]' => $request->get('captcha_name'),
    'captcha[key]' => $cookie ? $cookie : null,
    );

    $data = http_build_query($data);

    $options = array(
    'http'=> array(
    'method' => 'POST',
    'header' => 'Content-type: application/x-www-form-urlencoded',
    'content' => $data,
    ),
    );
    $context = stream_context_create($options);
    $fp = fopen(self::validateURL, 'rb', false, $context);
    $result = stream_get_contents($fp);
    fclose($fp);

    return $result == 1;
    }

    }

    А в файл — manifest.php, вот этот:

    <?php

    return array(
    'hooks' => array(
    'captcha_html',
    'captcha_validate',
    ),
    );

    Теперь созданную папку с находящимися в ней двумя файлами закиньте на свой хостинг с помощью своего FTP-клиента, в директорию (папку) — controllers, находящуюся по пути /system/controllers.

    Затем переименуйте файл — manifest.php в manifest-kill.php. Он расположен вот по этому пути: /system/controllers/recaptcha/manifest.php.

    Всё любуйтесь новой капчёй.


    Как настроить и вывести пункт «Добавить видео» в InstantCMS 2.1.1
    [​IMG]
    Первым делом, если у вас ещё не создана страница на которой будет отображаться видео давайте её создадим. Для того пройдите в панель управления вашего сайта на InstantCMS, и выберите Тип контента.



    [​IMG]



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

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

    То есть тип контента это определённый вид информации сгруппированной по определённым признакам.

    Допустим если создать тип контента на сайте Игры, то туда будут помещаться строго игры. Не новости, не объявления, а только игры.

    А если создать тип контента видео, значит на той странице можно будет найти только видео и ни чего другого. Надеюсь доходчиво пояснил.

    Ну вот, когда вы зайдёте в Тип контента, то увидите слева в верху ссылочку "Создать тип контента" с зелёным крестиком впереди.



    [​IMG]



    А нажав на неё попадёте в настройки, где и будем создавать тип нужного нам контента, (нас интересует тип контента - видео).

    Значит в первом поле прописываем системное имя контента латинскими буквами. Это имя будет использоваться в урл и в таблицах базы данных. Для видео, у нас системное имя будет таким: video.

    Ниже, в следующем поле необходимо прописать заголовок на русском. Он будет отображаться на странице. Заголовок соответственно будет: Видео. Так же в третье поле вставьте описание контента, можно указать тоже: Видео.

    Здесь пока всё, можно сохранить настройки нажав кнопку Сохранить, находящуюся чуть выше заполненных полей слева, или опуститься в самый низ страницы и там найти аналогичную кнопку.



    [​IMG]



    Изначально, по умолчанию в InstantCMS не возможно добавить видео на сайт, потому, как не существует даже поля Добавить видео. Значит необходимо это поле создать. Для этого нажмите на кнопку Заголовки, рядом с Настройками.



    [​IMG]



    Здесь в первых трёх полях пропишите, как будут выводиться заголовки в разных числительных. А ниже, в четвёртом поле укажите объект с которым будет проводиться операция, у нас это Видео.

    Собственно последнее поле и будет выводить на сайте кнопку Добавить видео. Всё это дело сохраняем.



    [​IMG]



    На этом почти всё. Единственное, что осталось это настроить Поля. Оно понадобится, что бы вывести на сайт соответствующий редактор для вставки видео. Потому как по умолчанию стоит редактор предназначенный для вставки текста и он не позволит поместить видео на сайт.

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



    [​IMG]



    Войдите в настройки - карандаш справа. А там тип поля Текст замените на Текст HTML. Сохраняйтесь.



    [​IMG]



    Всё, можете перейти на сайт в меню Видео и увидеть в сайдбаре кнопку Добавить видео.



    [​IMG]



    А здесь отличный HTML-редактор. С помощью его можно без проблем вставлять любой код видео и не только, используя значок для вставки видео или угловые скобки <>



    [​IMG]

    Как изменить вид/цвет «кнопки вверх/вниз» в InstantCMS 2.x
    [​IMG]
    ткройте скаченный архив с помощью любого архиватора:

    [​IMG]

    Внутри вы увидите пять компонентов: одна папка, один файл изображения, и три текстовых файла со скриптами и кодами. Откройте папку "package".



    [​IMG]В ней ещё две папки, нужно открыть "templates"



    [​IMG]Далее открывается папка "default".



    [​IMG]

    Там из четырёх папок выберите "images" .



    [​IMG]

    Здесь вы найдёте файл с изображением кнопки, которую и нужно будет покрасить в нужный цвет.



    [​IMG]



    Откройте файл "updownscroll.png" в любом графическом редакторе и залейте стрелку необходимым цветом. Например, я это делал в GIMP, так как пользуюсь линуксом.

    Вот как я это реализовал:

    Таким изображение было в оригинале при открытии его в графическом редакторе.



    [​IMG]



    Я использовал в своём графическом редакторе инструмент Заливка.



    [​IMG]



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

    Вот такие стрелки у меня стали после заливки. Вы же выберите свой цвет.



    [​IMG]



    Далее нажмите правую кнопку мыши и в выпадающем окне выберите вкладку "Файл". А в следующем выпадающем окне нажмите "Перезаписать updownscroll.png".

    Обновляйте файл, и закрывайте архив компонента "Кнопка вверх/вниз".

    А можно вообще заменить изображение на своё, нарисовать другие стрелки, но на это нужно время и знание GIMP, или другого графического редактора.

    Теперь этот изменённый компонент нужно установить на сайт. Открывайте админку, заходите в Компоненты.



    [​IMG]



    В левом, верхнем углу жмите "Установить пакет дополнения"



    [​IMG]



    Выбирайте файл скаченный заранее на компьютер (здесь можно скачать), жмите кнопку "Продолжить".

    Вам откроется Информация о пакете, а внизу кнопка Установить, нажмите её. Затем вам понадобятся реквизиты вашего FTP. Задайте их, а ниже пропишите Путь папки сайта. Я прописал - www/мой сайт.ru. Следом жмите Продолжить.



    [​IMG]



    Всё компонент "кнопка вверх/вниз" установлен, а найти его можно в виджетах, в группе Общие.

    [​IMG]



    А теперь ставьте его на сайт путём перетаскивания в нужное место.



    [​IMG]



    И ещё. Целесообразно будет если кнопка будет видна на всех страницах. Для этого на странице виджетов, в левом списке выберите -Системные =>Все страницы.



    [​IMG]



    Теперь на вашем сайте имеется кнопка скроллинга.


    Как установить информер прогноза погоды от Gismeteo в InstantCMS
    [​IMG]
    как установить информер на сайт под управлением данной CMS.

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

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

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

    Просто пролистайте при помощи стрелок весь предлагаемый ассортимент и выберите на свой вкус, подходящий информер. Далее его можно будет немного подправить прям там на сайте Gismeteo.



    [​IMG]



    Когда выберите и нажмёте на него мышкой, откроется небольшая панель с настройками. В принципе всё уже настроено, а вам остаётся только подогнать свой информер под свой сайт и регион.

    Лично я заполнил всего несколько необходимых полей, поменял цвет фона и размер информера (регулируется только ширина), подогнав его под свой сайт. Остальное оставил всё, как есть.

    Так же я выбрал язык, соответственно русский, ниже указал свой город, а ещё ниже вписал адрес своего сайта и почтовый ящик. Набрал капчу и нажал на кнопку - Получить код информера.



    [​IMG]

    Теперь полученный код нужно правильно вставить на сайт управляемый InstantCMS.

    Установка информера на сайт


    Идём в панель управления сайта, в директорию Виджеты, находим в правом столбце виджет с наименованием - Текстовый блок.

    Далее необходимо мышкой перетянуть его в нужное место на вашем сайте. Лично я посчитал целесообразным на своём сайте установить информер погоды в сайдбар.



    [​IMG]



    При перетаскивании виджета откроется дополнительный фрейм (окно) с настройками.
    Сразу же вместо заголовка - Текстовый блок впишите нужный вам заголовок. Он будет отображаться на сайте.



    [​IMG]



    Далее перейдите в - Опции. Откроится обычный текстовый редактор с перечнем некоторых инструментов.

    Находите вот такой значёк </>, жмёте, открываете редактор для кода и вставляете скопированный на сайте Gismeteo код вашего информера.



    [​IMG]



    Всё это дело сохраняете и прогноз погоды для посетителей вашего сайта будет всегда перед глазами.



    [​IMG]



    В дальнейшем таким же образом вы можете вставить и другие полезные штучки на ваш сайт. Например контекстную рекламу


    Автоподгрузка страниц iCMS2
    [​IMG]

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

    Кроме ajax, также использовалось HTML5 History API, чтобы при подгрузке страничек корректно отображать правильный адрес в адресной строке браузера. Зачем это надо можно почитать корявенький перевод здесь. А здесь, при необходимости, скачать последнюю версию скрипта, который позволяет легко работать с History API в разных браузерах, в том числе и старых HTML4.

    Установка модуля достаточно проста. Для начала скачиваем архив со скриптами.
    В архиве 3 файла:
    - pageautoload.js - сам модуль с незамысловатым названием
    - pageautoload.min.js - сжатая версия модуля
    - jquery.history.js - скрипт для работы с History API
    Кладем один из вариантов js-модуля pageautoload и файл jquery.history.js в папку со скриптами, по умолчанию она находится тут:
    Код PHP:
    1. ..\templates\default\js\
    И самое тяжелое - подключаем модуль в необходимых местах шаблона, там, где мы хотим, чтобы страницы, при пагинации, загружались автоматически через ajax. Для этого в файлах:
    Код PHP:
    1. ..\templates\default\content\albums_list.tpl.php
    2. ..\templates\default\content\default_list.tpl.php
    3. ..\templates\default\content\default_list_featured.tpl.php
    4. ..\templates\default\content\default_list_table.tpl.php
    5. ..\templates\default\content\default_list_tiles.tpl.php
    6. ..\templates\default\controllers\activity\list.tpl.php
    7. ..\templates\default\controllers\comments\list_index.tpl.php
    8. ..\templates\default\controllers\groups\list.tpl.php
    9. ..\templates\default\controllers\photos\album.tpl.php
    10. ..\templates\default\controllers\search\index.tpl.php
    11. ..\templates\default\controllers\users\list.tpl.php
    12. ..\templates\default\controllers\users\profile_karma.tpl.php
    13. ..\templates\default\controllers\wall\list.tpl.php
    в самом начале прописываем строки:
    Код PHP:
    1. <?php $this->addJS("templates/{$this->name}/js/jquery.history.js"); ?>
    2. <?php $this->addJS("templates/{$this->name}/js/pageautoload.min.js"); ?>
    (в данном случае, я использую сжатую версию pageautoload)

    Это более правильный подход, но вместо кучи файлов шаблона можно попробовать подключить скрипты в файле
    ..\templates\default\main.tpl.php ниже после блока подключения других скриптов. В этом случае, плагин будет работать на всех страницах где используется пагинация. Но там, где нет разбиения на страницы и нет необходимости в работе скрипта, он всё равно будет грузиться. Этот способ хорош для тестовой проверки работоспособности, но не рекомендуется использовать его на рабочих сайтах, зачем постоянно грузить 26 килобайт ненужной информации?!
    Немного о настройках...
    Все, или почти все, изменяемые параметры скрипта вынесены в его начало, в разделе options. Рядом проставлены комментарии с описанием каждого параметра. Единственное на что хотел бы обратить внимание это раздел CONTAINERS, в котором перечислены классы и id блоков куда выводятся подгружаемые ajax данные. Например, структура ленты активности в стандартном шаблоне следующая:
    Код HTML:
    1. <...>
    2. <article>
    3. <div id="breadcrumbs">...</div>
    4. <h1>Лента активности</h1>
    5. <div class="content_datasets">...</div>
    6. <div class="activity-list striped-list list-32">...</div>
    7. <div class="pagebar">...</div>
    8. </article>
    9. <...>
    Интересующий нас контент, который должен выводиться через ajax, находится внутри тега div с классом ".activity-list". Именно его (класс) мы добавляем в раздел CONTAINERS, чтобы плагин подключился к выводу страниц ленты активности. Для комментариев - тег с id "#comments_list", для показа списка пользователей - "#users_profiles_list" и т.д. По умолчанию в плагине уже присутствуют все компоненты стандартного шаблона где используется пагинация, собственно файлы шаблонов перечислены выше.
    Чтобы добавить в плагин сторонний компонент или шаблон, ищем в нем тег-контейнер и дописываем в опциях pageautoload.js необходимый класс или идентификатор. Например для компонента "Фотобитвы", который был разработан r2в процессе записи видео-туториалов, контент выводится внутри тега с классом ".photobattles-list". Его-то нам и необходимо добавить в раздел CONTAINERS. Далее подключаем плагин к компоненту (дописываем строки "<?php $this->addJS..." в файле шаблона ..\templates\default\controllers\photobattle\index.tpl.php) и проверяем результат его работы.

    На этом всё.
    Надеюсь получилось достаточно подробно и ясно описать базовый функционал плагина и принцип его работы. Всем большое спасибо и удачи в процессе постижения тайн второго Instant'а!!!

    P.S. Буду рад благодарности в карме, чтобы создать блог и делиться в нем своими мыслями и наработками по расширению функционала всеми любимой iCMS.
    Прикрепленные файлы:
     
    Последнее редактирование модератором: 18 ноя 2014
    xoce, Cibulja, rebux и 3 другим нравится это.
  3. Savok32

    Savok32 Писатель

    Регистр.:
    29 июн 2011
    Сообщения:
    4
    Симпатии:
    0
    Народ подскажите как сделать, в типах контента есть...кнопка...добавить собственное поле . так вот,
    как сделать чтобы в этом поле выводился мой текс и названия статьи ....
     
  4. soiros01

    soiros01 Писатель

    Регистр.:
    6 окт 2011
    Сообщения:
    3
    Симпатии:
    0
    Есть вариант виджета как для посадочной страницы чтоб сразу в базу попадала инфа?
     
  5. Cibulja

    Cibulja Создатель

    Регистр.:
    2 авг 2007
    Сообщения:
    16
    Симпатии:
    3
    Капча давно переехала на http://reklamper.com. Соответственно, и скрипты нужно заменить
     
  6. AT0m

    AT0m Писатель

    Регистр.:
    27 ноя 2011
    Сообщения:
    6
    Симпатии:
    0
    Привет всем! Прошу помощи!
    У меня стоит ICMS 2.2.1 всё замечательно за исключением некоторых мелких проблем,которые я уже самостоятельно решил,но с одним справиться не могу.
    Это отображение оригинала картинки после загрузки любым из двух редакторов (live и redactor) по клику на неё. Никак не могу понять,где копать. Я считаю,что проблема либо в папке /system/ в контоллере,либо в папке wysiwyg. В общем в списке нашёл ,где менять.Но на странице записи,хоть убей не могу понять,что менять.На картинке пример списка статей,кто ещё не понял о чём я пишу.

    Может кто-то уже столкнулся и решил эту проблему, поделитесь !!!
     

    Вложения:

  7. behive

    behive Создатель

    Регистр.:
    12 авг 2015
    Сообщения:
    10
    Симпатии:
    0
    Тоже эта проблема интересует. Если разберётесь - напишите как)
     
  8. Тамер

    Тамер Писатель

    Регистр.:
    4 дек 2015
    Сообщения:
    5
    Симпатии:
    0
    Друзья! Кто-нибудь использует данную cms для электронного документооборота? Нужен совет
     
  9. XNTPbIY

    XNTPbIY Создатель

    Регистр.:
    12 сен 2012
    Сообщения:
    24
    Симпатии:
    0
    Ребят не нашел куда написать сильно не пинайте. Столкнулся с такой проблемой в панели и на самом сайте вот
    [​IMG] [​IMG]
    Стоит последняя версия. Не пойму от куда лезут эти каракули. В панели она висит тока в виджитах и если на сайте вывожу виджит "Аватар пользователя" и в Опциях ставлю персональное меню.
     
  10. gusewww

    gusewww

    Регистр.:
    4 июл 2011
    Сообщения:
    667
    Симпатии:
    294
    База в какой кодировке? Сами таблицы?