callback.php 2.18 KB
<?php

// Подключение
include_once ($_SERVER['DOCUMENT_ROOT'] . "/libs/setup.php");

$setup = new setup();
$objCallback = $setup->setupClass ('Callback');
$objCallback->init();

switch ($_REQUEST['jaction'])
{
    case 'getForm':

        ob_start();

        echo $objCallback->htmlForm ();

        echo json_encode (array (
            'html' => ob_get_clean()
        ));

        break;

    case 'save':

        $objCallback->add($_POST);

        echo json_encode(array (
            'code' => 0,
            'html' => $objCallback->getSuccessMessage(),
        ));

        break;

    case 'getOne':

        $callback = $objCallback->getOne($_POST['callback_id']);

        echo json_encode(array (
            'code' => 0,
            'text' => iconv ('windows-1251', 'utf-8', $callback['text']),
        ));

        break;

    case 'setStatus':

        // завершен?
        $callback = $objCallback->getOne($_POST['callback_id']);
        if ($callback['callback_status_id'] != Callback::$DONE)
        {
            // тот же менеджер?
            if ($callback['manager_id'] ==0 || $callback['manager_id'] == $_SESSION['admin']['id'])
            {
                $objCallback->setStatus($callback['callback_id'], $_POST['callback_status_id']);

                // ответ
                echo json_encode(array (
                    'code' => 0,
                    'button' => iconv ('windows-1251', 'utf-8', $objCallback->buttonById($_POST['callback_id'])),
                    'manager' => iconv ('windows-1251', 'utf-8', $_SESSION['admin']['name']),
                    'date_edit' => date ('Y-m-d H:i:s'),
                ));
            }
            else
            {
                // ответ
                echo json_encode(array (
                    'code' => 1,
                    'html' => iconv ('utf-8', 'utf-8', $objCallback->getProcessingMessage($callback)),
                ));
            }
        }
        else
        {
            // ответ
            echo json_encode(array (
                'code' => 1,
                'html' => iconv ('utf-8', 'utf-8', $objCallback->getDoneMessage($callback)),
            ));
        }
        return;
}