Импорт данных в базу из GET запроса с проверкой условий

#
Импорт данных в базу из GET запроса с проверкой условий
Доброго всем дня.
Необходимо реализовать прием данных в базу с внешних датчиков с помощью GET запросов с проверкой какого-нибудь ключа.
Предметно:
Запрос get /import?sensorId=1&sensorKey=Unique&value=24.7
Предполагается хранение сенсоров в виде групп ИС, с свойством - Ключ, элемент ИС - показания сенсора. Рассматриваются и другие предложения.
Проверка условий:
sensorId - integer,
sensorKey  - string
value - float
При поступлении get запроса, найти группу ИС с ID, сравнить sensorKey с находящимся в свойстве, если ок - создать ифоэлемент, число записать в какое-нибудь поле.

После потребуется отображать последнее полученное значение, и строить графики во временных интервалах.

Помогите с реализацией
Модератор
#
Re: Импорт данных в базу из GET запроса с проверкой условий
danila-sava,
Поясните более подробно что именно у вас не получается в реализации? Покажите ваш код, опишите какие возникли трудности. Ибо сейчас по посту можно сказать что вы вообще не приступали к какой-либо реализации и хотите получить решение с нуля.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Импорт данных в базу из GET запроса с проверкой условий
Хотел просто посоветоваться со знатоками, узнать мнение - как удобней будет реализовать Выше предложенное. В итоге решил отказать от ИС и писать свой модуль, так практичней. А так как под HostCMS писать буду первый раз, то вопросов будет много, уж простите.
Модуль будет называться webmon
1 вопрос:
в файле /admin/webmon/index.php:

// Действие редактирования
$oAdmin_Form_Action = Core_Entity::factory('Admin_Form', $iAdmin_Form_Id)
    ->Admin_Form_Actions
    ->getByName('edit');

if ($oAdmin_Form_Action && $oAdmin_Form_Controller->getAction() == 'edit')
{

    $oWebmon_Controller_Edit = new Webmon_Channels_Controller_Edit(
        $oAdmin_Form_Action
    );

    $oWebmon_Controller_Edit->addEntity($oAdmin_Form_Entity_Breadcrumbs);

    // Добавляем типовой контроллер редактирования контроллеру формы
    $oAdmin_Form_Controller->addAction($oWebmon_Controller_Edit);
}


Создаю контроллер по пути:
/modules/webmon/channels/controller/edit.php с содержимым:
class Webmon_Channels_Controller_Edit extends Admin_Form_Action_Controller_Type_Edit {

    public function setObject($object)
    {
        parent::setObject($object);

        $this->title(
            $this->_object->id
                ? Core::_('Webmon.channel_add_title')
                : Core::_('Webmon.channel_edit_title')
        );

        $oMainTab = $this->getTab('main');

        $oMainTab
            ->add($oMainRow1 = Admin_Form_Entity::factory('Div')->class('row'))
        ;

        $oMainTab->move($this->getField('name')->divAttr(array('class' => 'form-group col-xs-12 col-sm-4')), $oMainRow1);
        $oMainTab->move($this->getField('writekey')->divAttr(array('class' => 'form-group col-xs-12 col-sm-4')), $oMainRow1);

        return $this;
    }
}


Из админ-центра при попытке перейти по ссылке: /admin/webmon/index.php?hostcms[action]=edit&hostcms[operation]=&hostcms[current]=1&hostcms[sortingfield]=100000&hostcms[sortingdirection]=1&hostcms[window]=id_content&&hostcms[checked][0][0]=1

получаю ошибку:
У Вас недостаточно прав для совершения этого действия или действие для формы отсутствует.
36 modules/core/exception.php
1081 modules/admin/form/controller.php
97 admin/webmon/index.php
не понимаю почему, может кто скажет? Не тот контроллер ищет? Не там? Или ещё что-то?
#
Re: Импорт данных в базу из GET запроса с проверкой условий
Вопрос до сих пор актуален. Окажет ли кто-нибудь помощь?
Модератор
#
Re: Импорт данных в базу из GET запроса с проверкой условий
1. В центре администрирования для вашей формы создайте действие edit, посмотрите как это сделано у других форм.
2. Принимать данные вам нужно будет в коде (настроек) динамической страницы, там через ORM будете добавлять данные.
#
Re: Импорт данных в базу из GET запроса с проверкой условий
HostCMS, спасибо! Процесс продвинулся дальше.
#
Re: Импорт данных в базу из GET запроса с проверкой условий
Новый вопрос. Удалённые записи помещаются в корзину. Но там записи моего модуля отображаются как Unknown. Есть документация по написанию части модуля по работе с корзиной? Либо тыкните носом в пример. Пожалуйста.
Модератор
#
Re: Импорт данных в базу из GET запроса с проверкой условий
в языковой файл модели добавить model_name, посмотрите у любой модели в i18n/ru.php
#
Re: Импорт данных в базу из GET запроса с проверкой условий
HostCMS, есть такое, но видимо из-за того, что у меня таблица в базе со знаком подчеркивания - данная конструкция не работает, я в логах вижу ошибку:
"2017-04-20 17:44:28",admin,"Language file 'wm_channel' with path 'modules/wm/channel/i18n/ru.php' does not exist.
36 modules/core/exception.php
232 modules/core/i18n.php
130 modules/core/i18n.php
176 modules/core/i18n.php
475 modules/core/core.php

В модели:
class Webmon_Model extends Core_Entity  
........
protected $_tableName = 'wm_channels';

как быть в таком случае?
Модератор
#
Re: Импорт данных в базу из GET запроса с проверкой условий
Так у вас таблица и модель вообще отличаются, корзина работает по списку таблиц и она не может угадать, что за wm_channels стоит Webmon_Model.
Два варианта:
1. Переделайте модель на Wm_Channel_Model и разместите файл modules/wm/channel/i18n/ru.php
2. Просто разместите языковой файл modules/wm/channel/i18n/ru.php (вариант похуже)
Авторизация