Разработчик ARI Soft ari quiz lite
Версия расширения 1.2.7
Совместимость   compat 15 compat 17 compat 25 compat 30
Дата создания май 2015
Язык Английский, Русский(после установки файла русификации)
Демо ARI Quiz Lite


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

Основные возможности:

    * управление доступом пользователей к тестам
    * статистика результатов тестирования
    * групповое тестирование по категориям
    * три типа построения вопросов для тестов
    * использование шаблонов при создании тестов.

РУСИФИКАЦИЯ:

1. После установки компонента com_ariquizlite.zip Скачиваем архив "ari_quiz_lite_translit"
Открываем папку с языковыми файлами сайта по пути: www/home/administrator/language/ru-RU
Из архива берем файлы ru-RU.com_ariquizlite.ini  и  ru-RU.com_ariquizlite.sys.ini  , и добавляем их в эту папку.
РЕЗУЛЬТАТ
БЫЛО:
1
СТАЛО:
ari quiz lite after

2. В панели управления компонента ARI Quiz Lite выбираем вкладку "Языки админпанели"-> Импорт и выбираем файл "ru_backend.xml" из пакета для русификации , в поле "Name" Пишем название языка (какое вы хотите) и нажимаем кнопку "Import". После установки языкового файла xml указываем его по умолчанию и сохраняем.
ari quiz lite buckend
ari quiz lite buckend lang default
Те же действия делаем и для Языкового файла пользовательской части сайта, используя файл "ru_frontend.xml" на вкладке "Языки пользовательской части сайта".


РЕЗУЛЬТАТ
БЫЛО:
ari quiz lite buckend lang default before
СТАЛО:
ari quiz lite buckend lang default after

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

КАК УБРАТЬ ССЫЛКУ "Developed by ARI Soft":

ВНИМАНИЕ!!! Как убрать ссылку "Developed by ARI Soft"

ari quiz lite developed by ari soft

  1. Находим файлы по пути ../components/com_ariquizlite/view
    • question.html.php
    • quiz.html.php
    • quiz_finished.html.php
    • quiz_info.html.php
    • quiz_list.html.php
    • quiz_stat.html.php
  2. В каждом из этих файлов находим блок кода, отвечающий за вывод "Developed by ARI Soft"
    <div style="text-align: center;">
              Developed by <a href="http://www.ari-soft.com" target="_blank" title="ARI Soft">ARI Soft</a>.
    </div>
  3. Можно удалить в каждом из 6 файлов весь блок кода, либо только строку
    Developed by <a href="http://www.ari-soft.com" target="_blank" title="ARI Soft">ARI Soft</a>.
  4. После удаления данного кода сохраняем файлы и все, логотип разработчика исчезнет со страниц тестирования.

Как добавить кнопку "УДАЛИТЬ" на страничке списков результатов тестирования:

Открываем файл results.php по пути:

../administrator/components/com_ariquizlite/pages
В нем со строки 74 видим функцию

function _registerEventHandlers()
    {
        $this->_registerEventHandler('tohtml', 'clickToHtml');
        $this->_registerEventHandler('toword', 'clickToWord');
        $this->_registerEventHandler('toexcel', 'clickToExcel');
        $this->_registerEventHandler('tocsv', 'clickToCSV');
    }


Дописываем в нее строку:

		$this->_registerEventHandler('delete', 'clickDelete');
	

Должно получится вот так:

function _registerEventHandlers()
    {
        $this->_registerEventHandler('tohtml', 'clickToHtml');
        $this->_registerEventHandler('toword', 'clickToWord');
        $this->_registerEventHandler('toexcel', 'clickToExcel');
        $this->_registerEventHandler('tocsv', 'clickToCSV');
        $this->_registerEventHandler('delete', 'clickDelete');
    }


Далее сразу после этой функции прописываем код (Функцию):

	function clickDelete($eventArgs)    
    {         
      $statisticsId = JRequest::getVar('statisticsInfoId', array());    
      $this->_resultController->call('deleteResult', $statisticsId);
       if (!$this->_isError())
       {
       AriQuizWebHelper::preCompleteAction('Complete.ResultDelete', array('task' => 'results'));
       }
    }


В итоге все вместе должно получиться вот в таком виде:

	function _registerEventHandlers()
    {
        $this->_registerEventHandler('tohtml', 'clickToHtml');
        $this->_registerEventHandler('toword', 'clickToWord');
        $this->_registerEventHandler('toexcel', 'clickToExcel');
        $this->_registerEventHandler('tocsv', 'clickToCSV');
        $this->_registerEventHandler('delete', 'clickDelete');
    }
     
    function clickDelete($eventArgs)    
    {         
      $statisticsId = JRequest::getVar('statisticsInfoId', array());    
      $this->_resultController->call('deleteResult', $statisticsId);
       if (!$this->_isError())
       {
       AriQuizWebHelper::preCompleteAction('Complete.ResultDelete', array('task' => 'results'));
       }
    }


Открываем файл toolbar.ariquizlite.html.php , находящийся по пути:
../administrator/components/com_ariquizlite
И со строки 31 видим функцию function resultsMenu():

	function resultsMenu()
    {
        global $option;
         
        AriQuizMenu::_addResourceTitle('Title.QuizResultList');
         
        JToolbarHelper::apply('results', AriQuizWebHelper::getResValue('Toolbar.Filters'));
        JToolbarHelper::spacer();
        JToolbarHelper::divider();
        JToolbarHelper::spacer();
         
        JToolbarHelper::custom('results$tocsv', 'archive.png', 'archive.png', AriQuizWebHelper::getResValue('Toolbar.ExportToCSV'), true);
        JToolbarHelper::spacer();
 
        JToolbarHelper::divider();
        JToolbarHelper::spacer();
        JToolbarHelper::back(AriQuizWebHelper::getResValue('Toolbar.QuizList'), sprintf('index.php?option=%s&task=%s', $option, 'quiz_list'));
        JToolbarHelper::spacer();
    }


Дописываем в нее перед закрывающей скобкой } следующий код:

    JToolbarHelper::divider();
    JToolbarHelper::deleteList(AriQuizWebHelper::getResValue('Warning.QTemplateRemove'),'results$delete',AriQuizWebHelper::getResValue('Button.Remove'));
    JToolbarHelper::spacer();


В итоге должно получиться вот так:

	function resultsMenu()
    {
        global $option;
         
        AriQuizMenu::_addResourceTitle('Title.QuizResultList');
         
        JToolbarHelper::apply('results', AriQuizWebHelper::getResValue('Toolbar.Filters'));
        JToolbarHelper::spacer();
        JToolbarHelper::divider();
        JToolbarHelper::spacer();
         
        JToolbarHelper::custom('results$tocsv', 'archive.png', 'archive.png', AriQuizWebHelper::getResValue('Toolbar.ExportToCSV'), true);
        JToolbarHelper::spacer();
 
        JToolbarHelper::divider();
        JToolbarHelper::spacer();
        JToolbarHelper::back(AriQuizWebHelper::getResValue('Toolbar.QuizList'), sprintf('index.php?option=%s&task=%s', $option,'quiz_list'));
        JToolbarHelper::spacer();
         
        JToolbarHelper::divider();
        JToolbarHelper::deleteList( AriQuizWebHelper::getResValue('Warning.QTemplateRemove'), 'results$delete', AriQuizWebHelper::getResValue('Button.Remove'));
        JToolbarHelper::spacer();
    }

    

Открываем файл class.ResultController.php по пути:
../administrator/components/com_ariquizlite/kernel/Controllers
И дописываем в этот файл новую функцию:

	function deleteResult($resultList)
    {
         $query = 'DELETE FROM #__ariquizstatisticsinfo WHERE StatisticsInfoId IN ('.implode(",", $resultList).')';
         $this->_db->setQuery($query);
         $this->_db->query();
         $query = 'DELETE FROM #__ariquizstatistics WHERE StatisticsInfoId IN ('.implode(",", $resultList).')';
         $this->_db->setQuery($query);
         $this->_db->query();
          
        if ($this->_isError(true, false))
        {
            trigger_error('ARI: Couldnt delete result.', E_USER_ERROR);
            return false;
        }
         
        return true;
    }


После всех этих изменений на страничке с результатами тестирования появится кнопка "УДАЛИТЬ".
com ariquizlite button delete results

Скачать пакет для русификации "ari_quiz_lite_translit.zip"

Скачать ARI Quiz Lite for Joomla! 1.5, 1.6, 1.7, 2.5 and 3.x.

Друзья!!!
Спасибо Вам всем большое за поддержку проекта. Если не сложно при переводе пишите в комментарий свой email. Я буду знать от кого и мне очень приятно будет оказать посильную помощь этому человеку.

Если кому нужен другой по функционалу плагин, модуль или еще что то пишите в комментариях.