Колесо удачи (фортуны)

Установка
Купите и установите модуль
Подключите файл стилей: 
Copy
<link rel="stylesheet" type="text/css" href="/hostcmsfiles/hd_wof/hd_wof-style.css">
JS скрипты
Copy
<script src="/hostcmsfiles/hd_wof/transit.js"></script><script src="/hostcmsfiles/hd_wof/spinit.js"></script>
Copy
$().ready(function() {    $('body').on('click', '#spinneratlas_btn', function() {       $('.pole_popup').addClass('active');         return false;   });   $('body').on('click', '.pole_close', function() {       $(this).parents('.pole_popup:first').removeClass('active');   });   $("#spinneratlas").spinit({       clockwise: true, //wheel turn       startDegree: 0,       turn: 7, // Default wheel board turn times       radius: 5, // To avoid flapper too near on the line       duration: 6000, // Define animation timing in mileseconds   });   $('body').on('submit', '.pole_popup form', function() {       var form = $(this);       form.find('[type=submit]').prop('disabled', true);       var formData = new FormData(form.get(0));       formData.append('barabanSubmit', form.attr('data-id'));       $('#spinneratlas').spinit('serverSpin', function(e) {           $.ajax({               data: formData,               type: "POST",               dataType: 'json',               processData: false,               contentType: false,               success: function (data) {                   $('#spinneratlas_btn').remove();                   form.parents('.pole_popup:first').removeClass('active').remove();                   setTimeout(function() {                       alert(data.text);                   }, 10);               }           });       });       return false;   });});
PHP код для вывода колеса
Copy
$oWofShow = new HostDev_Wof_Controller_Show(Core_Entity::factory('HostDev_Wof', 1));$oWofShow    ->xsl(Core_Entity::factory('Xsl')->getByName('КолесоУдачи'))    ->show();
PHP код обработчика
Copy
if (Core::moduleIsActive('hostdev_wof')) {        if (Core_Array::getPost('barabanSubmit')) {            Core_Session::start();            $iWofID = intval(Core_Array::getPost('barabanSubmit'));            if (!isset($_SESSION['wof_' . $iWofID])) {                die(json_encode(array('type' => 'warning', 'message' => 'Сначала покрутите барабан')));            }            $oWheel = Core_Entity::factory('hostdev_wof')->getByid($iWofID);            if (is_null($oWheel)) {                die(json_encode(array('type' => 'error', 'message' => 'Выбранный барабан не найден')));            }            $sName = trim(strip_tags(Core_Array::getPost('name')));            $sPhone = trim(strip_tags(Core_Array::getPost('phone')));            $sEmail = trim(strip_tags(Core_Array::getPost('email')));                        $bErrors = false;            if ($sName == '') {                $bErrors = true;            }            $sTmpPhone = preg_replace("/[^0-9]/", '', $sPhone);            if (strlen($sTmpPhone) != 11) {                $bErrors = true;            }            if (!Core_Valid::email($sEmail)) {                $bErrors = true;            }                        if (!$bErrors) {                $aVariant = $_SESSION['wof_' . $iWofID];                                $sAddText = 'Наш менеджер свяжется с вами в ближайшее время';                                $sText = "Колесо удачи «{$oWheel->name}»\r\n";                $sText .= "Имя: {$sName}\r\n";                $sText .= "Телефон: {$sPhone}\r\n";                $sText .= "Email: {$sEmail}\r\n";                                $sText .= "Приз: {$aVariant['name']}\r\n\r\n";                $sText .= "Страница: {$url}\r\n";                                $oCore_Mail = Core_Mail::instance();                $oCore_Mail                    ->from($fromEmail) // отправитель письма                    ->to($toEmail) // получатель письма                    ->subject("Колесо удачи «{$oWheel->name}»")                    ->message($sText)                    ->contentType('text/plain')                    ->send();                $bSent = $oCore_Mail->getStatus();                if ($bSent) {                    die(json_encode(array('type' => 'success', 'message' => "Сектор «{$aVariant['name']}» на барабане")));                } else {                    die(json_encode(array('type' => 'warning', 'message' => 'Заявка не отправлена')));                }            } else {                die(json_encode(array('type' => 'error', 'message' => 'Заполните поля корректно')));            }        }    }