Esempio n. 1
0
<?php

use Components\Classes\Author;
use Components\Classes\Napravls;
use Components\Classes\Disciplines;
use Components\Entity\Napravl;
use Components\Entity\Discipline;
$author_id = $_SESSION['user']['data']['id'];
if (!empty($_POST['save'])) {
    $disciplines = isset($_POST['discipline']) ? $_POST['discipline'] : array();
    Author::delete_napravl_all($author_id);
    Author::addDisciplines($author_id, array_keys($disciplines));
    $GUI->OK('Сохранено');
}
$napravlAll = Napravl::findAll();
$authorNapravls = Author::get_napravl($author_id);
$authorDisciplines = Author::getDisciplines($author_id);
$result[] = '<table style="width: 100%;">';
if (count($napravlAll)) {
    foreach ($napravlAll as $napravl) {
        $disciplines = Napravls::getDisciplines($napravl['id']);
        $checked = in_array($napravl['id'], $authorNapravls);
        $result[] = '<tr style="background-color: #d3d3d3;">';
        $result[] = '<td colspan="100">';
        $result[] = '<div class="module_name">
    <label for="napravl[' . $napravl['id'] . ']">' . Napravls::getName($napravl['id']) . '</label>
    </div>';
        if (count($disciplines)) {
            $result[] = '&nbsp;&nbsp;';
            $result[] = '<span style="vertical-align: middle;line-height: 1.9;" data-toggle="select" data-target="napravl_' . $napravl['id'] . '">выбрать все</span>';
            $result[] = '&nbsp;&nbsp;&nbsp;&nbsp;';
Esempio n. 2
0
/**
 * @deprecated
 * @param $naprav_id
 * @return mixed
 */
function get_naprav_name($naprav_id)
{
    try {
        $napravl = Napravl::find($naprav_id);
        return $napravl['name'];
    } catch (InvalidArgumentException $e) {
        return 'не указано';
    } catch (EntityNotFoundException $e) {
        return 'не указано';
    }
}
Esempio n. 3
0
function impdiscip_exec($Frm, $Err)
{
    if (!$Err) {
        $v = $Frm->GetValue(0);
        if (!strpos($v["type"], "ms-excel")) {
            $Frm->_gui->informer->ERR("Неправильный тип файла");
            page_reloadSubSec();
        } else {
            $s = "";
            if ($Frm->GetValue(1)) {
                db::truncate(TABLE_DISCIPLINE);
                db::truncate(TABLE_DISCIPLINE_TO_NAPRAVL);
                db::truncate(TABLE_AUTHOR_TO_DISCIPLINE);
                $s = "Таблица очищена. ";
            }
            require_once DIR_FS_DOCUMENT_ROOT . "/ext/PHPExcel/PHPExcel.php";
            $loader = PHPExcel_IOFactory::load($v['tmp_name']);
            $loader->setActiveSheetIndex(0);
            $sheet = $loader->getActiveSheet();
            $colNumber = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn());
            if ($colNumber < 1 or $colNumber > 2) {
                $Frm->_gui->informer->ERR("В таблице должно быть от 1 до 2 колонок(сейчас " . $colNumber . ")");
                page_reloadSubSec();
            }
            $rowIterator = $sheet->getRowIterator();
            $addcnt = 0;
            foreach ($rowIterator as $row) {
                // Получили ячейки текущей строки и обойдем их в цикле
                $cellIterator = $row->getCellIterator();
                foreach ($cellIterator as $cell) {
                    $value = trim($cell->getValue());
                    $color = $sheet->getStyle($cell->getCoordinate())->getFill()->getEndColor()->getRGB();
                    if ($color == '000000') {
                        $napravl = db::get_single_row("SELECT * FROM " . TABLE_NAPRAVL . " WHERE LOWER(name) = '" . db::input(strtolower($value)) . "'");
                        if ($napravl) {
                            $napravl_id = $napravl['id'];
                        } else {
                            $napravl_id = Napravl::create(array('name' => $value));
                        }
                    } else {
                        if (empty($napravl_id)) {
                            continue 2;
                        }
                        $discipline = db::get_single_row("SELECT * FROM " . TABLE_DISCIPLINE . " WHERE LOWER(name) = '" . db::input(strtolower($value)) . "'");
                        if ($discipline) {
                            Disciplines::addToNaprav($discipline['id'], $napravl_id);
                            continue 2;
                        } else {
                            $discipline_id = Discipline::create(array('name' => $value));
                            Disciplines::addToNaprav($discipline_id, $napravl_id);
                            $addcnt++;
                        }
                    }
                }
            }
            $Frm->_gui->informer->OK($s . "Добавлено " . $addcnt . " строк");
            page_reloadSubSec();
        }
    }
}
Esempio n. 4
0
    $tbl = $GUI->Table("sprav" . $n);
    if (user_can($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Редактировать")) {
        $tbl->RowEvent2 = "document.location.href=\"?section=sprav&subsection=2&edit=%var%\"";
    }
    $r = $tbl->NewColumn();
    $r->Caption = "Номер";
    $r->DoSort = true;
    $r->Key = "id";
    $r = $tbl->NewColumn();
    $r->Caption = "Наименование";
    $r->DoSort = true;
    $r->Key = "name";
    $r = $tbl->NewColumn();
    $r->Caption = "Количество авторов";
    $r->DoSort = true;
    $r->Process = "get_authors_qt_for_napravl";
    $r = $tbl->NewColumn();
    $r->Caption = "";
    $r->Process = "tp_napravl_cmds";
    foreach (Napravl::findAll() as $d) {
        $tbl->AddRow($d, "id");
    }
    $tbl->InlineSort(true);
    if (user_can($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Добавить")) {
        $GUI->cmdmenu->AddItem("Добавить", "?section=sprav&subsection=2&add");
    }
}
function get_authors_qt_for_napravl($value, $row, $table, $info)
{
    return Napravls::getAuthorsQt($row['id']);
}