Skip to content

Commit c232503

Browse files
committed
Implement packet editing functions
1 parent 6ce72d0 commit c232503

File tree

2 files changed

+113
-2
lines changed

2 files changed

+113
-2
lines changed

src/libraries/Document.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,13 +367,13 @@ public function save() {
367367
`id` = :id
368368
LIMIT 1;
369369
");
370-
$stmt->bindParam(":content", $this->content, PDO::PARAM_INT);
370+
$stmt->bindParam(":content", $this->content, PDO::PARAM_STR);
371371
$stmt->bindParam(":created_dt", $this->created_datetime, PDO::PARAM_INT);
372372
$stmt->bindParam(":edited_count", $this->edited_count, PDO::PARAM_INT);
373373
$stmt->bindParam(":edited_dt", $this->edited_datetime, PDO::PARAM_INT);
374374
$stmt->bindParam(":id", $this->id, PDO::PARAM_INT);
375375
$stmt->bindParam(":options", $this->options_bitmask, PDO::PARAM_INT);
376-
$stmt->bindParam(":title", $this->title, PDO::PARAM_INT);
376+
$stmt->bindParam(":title", $this->title, PDO::PARAM_STR);
377377
$stmt->bindParam(":user_id", $this->user_id, PDO::PARAM_INT);
378378
if (!$stmt->execute()) {
379379
throw new QueryException("Cannot save document");

src/libraries/Packet.php

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,4 +485,115 @@ public function refresh() {
485485
return false;
486486
}
487487

488+
public function save() {
489+
if (!isset(Common::$database)) {
490+
Common::$database = DatabaseDriver::getDatabaseObject();
491+
}
492+
try {
493+
$stmt = Common::$database->prepare("
494+
UPDATE
495+
`packets`
496+
SET
497+
`created_datetime` = :created_dt,
498+
`edited_count` = :edited_count,
499+
`edited_datetime` = :edited_dt,
500+
`options_bitmask` = :options,
501+
`packet_application_layer_id` = :application_layer_id,
502+
`packet_direction_id` = :direction_id,
503+
`packet_format` = :format,
504+
`packet_name` = :name,
505+
`packet_remarks` = :remarks,
506+
`packet_transport_layer_id` = :transport_layer_id,
507+
`user_id` = :user_id
508+
WHERE
509+
`id` = :id
510+
LIMIT 1;
511+
");
512+
$stmt->bindParam(
513+
":application_layer_id", $this->packet_application_layer_id,
514+
PDO::PARAM_INT
515+
);
516+
$stmt->bindParam(":created_dt", $this->created_datetime, PDO::PARAM_INT);
517+
$stmt->bindParam(":edited_count", $this->edited_count, PDO::PARAM_INT);
518+
$stmt->bindParam(":edited_dt", $this->edited_datetime, PDO::PARAM_INT);
519+
$stmt->bindParam(
520+
":direction_id", $this->packet_direction_id, PDO::PARAM_INT
521+
);
522+
$stmt->bindParam(":format", $this->packet_format, PDO::PARAM_STR);
523+
$stmt->bindParam(":id", $this->id, PDO::PARAM_INT);
524+
$stmt->bindParam(":name", $this->packet_name, PDO::PARAM_STR);
525+
$stmt->bindParam(":options", $this->options_bitmask, PDO::PARAM_INT);
526+
$stmt->bindParam(":remarks", $this->packet_remarks, PDO::PARAM_STR);
527+
$stmt->bindParam(
528+
":transport_layer_id", $this->packet_transport_layer_id,
529+
PDO::PARAM_INT
530+
);
531+
$stmt->bindParam(":user_id", $this->user_id, PDO::PARAM_INT);
532+
if (!$stmt->execute()) {
533+
throw new QueryException("Cannot save document");
534+
}
535+
$stmt->closeCursor();
536+
537+
$object = new StdClass();
538+
$object->created_datetime = $this->created_datetime;
539+
$object->edited_count = $this->edited_count;
540+
$object->edited_datetime = $this->edited_datetime;
541+
$object->id = $this->id;
542+
$object->options_bitmask = $this->options_bitmask;
543+
$object->packet_application_layer_id = $this->packet_application_layer_id;
544+
$object->packet_direction_id = $this->packet_direction_id;
545+
$object->packet_format = $this->packet_format;
546+
$object->packet_id = $this->packet_id;
547+
$object->packet_name = $this->packet_name;
548+
$object->packet_remarks = $this->packet_remarks;
549+
$object->packet_transport_layer_id = $this->packet_transport_layer_id;
550+
$object->user_id = $this->user_id;
551+
552+
$cache_key = "bnetdocs-packet-" . $this->id;
553+
Common::$cache->set($cache_key, serialize($object), 300);
554+
Common::$cache->delete("bnetdocs-packets");
555+
556+
return true;
557+
} catch (PDOException $e) {
558+
throw new QueryException("Cannot save packet", $e);
559+
}
560+
return false;
561+
}
562+
563+
public function setEditedCount($value) {
564+
$this->edited_count = $value;
565+
}
566+
567+
public function setEditedDateTime(\DateTime $value) {
568+
$this->edited_datetime = $value->format("Y-m-d H:i:s");
569+
}
570+
571+
public function setMarkdown($value) {
572+
if ($value) {
573+
$this->options_bitmask |= self::OPTION_MARKDOWN;
574+
} else {
575+
$this->options_bitmask &= ~self::OPTION_MARKDOWN;
576+
}
577+
}
578+
579+
public function setPacketFormat($value) {
580+
$this->packet_format = $value;
581+
}
582+
583+
public function setPacketName($value) {
584+
$this->packet_name = $value;
585+
}
586+
587+
public function setPacketRemarks($value) {
588+
$this->packet_remarks = $value;
589+
}
590+
591+
public function setPublished($value) {
592+
if ($value) {
593+
$this->options_bitmask |= self::OPTION_PUBLISHED;
594+
} else {
595+
$this->options_bitmask &= ~self::OPTION_PUBLISHED;
596+
}
597+
}
598+
488599
}

0 commit comments

Comments
 (0)