Собственные отчеты

Для создания собственного отчета необходимо:

в папке /class/report создать файл отчета, содержащий одноименную функцию отчета; в таблице isp.ved_add создать запись, где naz — название отчета, funcname — имя файла отчета (без расширения), primech — описание отчета (не обязательно), разрешены html-тэги.

например файл proba.php:

<?php

/**

 *

 * $idrep - идентификатор отчета
 *  $nazrep  - наименование отчета
 *  $nomrep - не используется
 */


    ob_start();

    if ($_GET['mode'] == 'otch') {

        /*
          Текст отчета
         */
        echo HTML_ZAG_HEADER;

        echo "отчет";

        echo HTML_ZAG_FOOTER;
        $res = ob_get_contents();
        ob_end_clean();
        if ($_GET['cont'] == 'name') {
            $fileName = uniqid() . '.html';
            $file = fopen_tmp($fileName, 'w');
            fputs($file, $res);
            fclose($file);
            echo $fileName;
        } else
            echo $res;
        exit();
    } //</Генерация отчета>
    else { //Форма запроса для отчета
        ?>
        <script type="text/javascript">

            function generate_otch() {

                $.post('<? echo SITE_URL; ?>otchet.php?act=genRep&idrep=<? echo $idrep; ?>&mode=otch&cont=name',
                        {'dat_from': $("#dat_from").val(),
                            'dat_to': $("#dat_to").val()
                        },
                        function (data) {
                            unBlockBut('generate_otch');
                            window.open('<? echo SITE_URL; ?>tmp/' + data, 'otch');
                        });
            }
        </script>
        <?
        echo '<h1>' . $nazrep . '</h1>';
        $dat = new datebox('dat_from'); //Ввод даты начала периода
        $dat->setValue(date('d.m.Y'));
        $dat1 = new datebox('dat_to'); //Ввод даты окончания периода
        $dat1->setValue(date('d.m.Y'));
        echo '<table border="0"><tr>';
        echo '<td>установить период<td>' . Report::datePreset();
        echo '<td align="right">с</td><td>' . $dat->draw() . '</td><td>по</td><td>' . $dat1->draw() . '</td></tr></table>';

        echo Report::buttonGenerate(); //Кнопка вызова создания отчета

    } //</Форма запроса для отчета>
    $res = ob_get_contents();
    ob_end_clean();
    echo $res;

и запись в таблице isp.ved_add