Ejemplo n.º 1
0
 public function setRecord($data)
 {
     $data[blocktype] = $this->blocktype;
     $operation[$data[operation_id]] = array('date' => $data[action_date], 'comment_id' => sqltable_model::getCommentId($data[comment]));
     // если в поле для нового ввели номер сопроводиловки уже существующий в журнале
     // то будем править его
     $sql = "SELECT * FROM {$this->maintable} WHERE lanch_id='{$data[lanch_id]}'";
     $res = sql::fetchOne($sql);
     if (empty($res)) {
         // гадство! тут нужен уникальный, а без коментариев будет получаться один
         sql::insert('coments', array(array("comment" => multibyte::Json_encode($operation))));
         $data[coment_id] = sql::lastId();
     } else {
         $coment = multibyte::Json_decode(sqltable_model::getComment($res[coment_id]));
         $coment[$data[operation_id]] = $operation[$data[operation_id]];
         // заменить старый по ключу
         sql::insertUpdate('coments', array(array("id" => $res[coment_id], "comment" => multibyte::Json_encode($coment))));
         $data[edit] = $res[id];
         // если был такой его и правим
         $data[coment_id] = $res[coment_id];
     }
     $data[lastoperation] = $data[operation_id];
     parent::setRecord($data);
     return true;
 }
Ejemplo n.º 2
0
 /**
  * Добавляет к блоку данные о проводниках и зазорах
  */
 public function wideandgap($rec)
 {
     $rec = multibyte::cp1251_to_utf8($rec);
     // TODO duble code
     // update block size
     extract($rec);
     $sql = "SELECT id FROM customers WHERE customer='{$customer}'";
     $rs = sql::fetchOne($sql);
     if (empty($rs)) {
         $sql = "INSERT INTO customers (customer) VALUES ('{$customer}')";
         sql::query($sql);
         $customer_id = sql::lastId();
     } else {
         $customer_id = $rs[id];
     }
     $sql = "SELECT id,comment_id FROM blocks WHERE customer_id='{$customer_id}' AND blockname='{$board}'";
     $rs = sql::fetchOne($sql);
     if (!empty($rs)) {
         $params = json_decode(multibyte::Unescape(sqltable_model::getComment($rs["comment_id"])), true);
         //получим текщий комент
         $params["wideandgaps"] = update_model::parsexstring($wideandgaps);
         $comment_id = sqltable_model::getCommentId(multibyte::Json_encode(multibyte::recursiveEscape($params)));
         $id = $rs["id"];
         $sql = "UPDATE blocks SET comment_id='{$comment_id}' WHERE id='{$id}'";
         sql::query($sql);
         echo json_encode($params);
     }
     /* если не нашелся такой блок, то не понятно как вызывался метод, блок создается раньше вызовом coppers и другими
      * wideandgaps вызывается для готовых блоков, не вижу смысла отрабатывать ситуацию когда блока нет
      */
 }