<?php require_once __DIR__ . '/../vendor/autoload.php'; define("MAINDIR", __DIR__ . '/../'); require_once __DIR__ . '/../config.php'; use GitGis\Whatsapp\Model\Message; use GitGis\Whatsapp\Model\MessageDAO; use GitGis\Whatsapp\Model\Group; use GitGis\Whatsapp\Model\GroupDAO; use GitGis\Whatsapp\Model\WhatsappDAO; $groupDao = new GroupDAO(); $group = $groupDao->fetch(1); $messageDao = new MessageDAO(); for ($cnt = 0; $cnt < 200; $cnt++) { $message = new Message(); $message->setKind(Message::KIND_TEXT_MSG); $message->setCtime(time()); $message->setUserId(1); $message->setData('Test ' . $cnt); $message->setStime(time()); $message->setGroupId($group->getId()); $message = $messageDao->save($message); $messageDao->addStatus($message, Message::MESSAGE_STATUS_TO_SEND); }
/** * Saves message to DB * * @param Message $item * @throws \Exception * @return Message */ public function save(Message $item) { if (empty($item)) { throw new \Exception('Empty item'); } $groupDao = new GroupDAO(); $item->setTarget(implode(',', array_keys($groupDao->getNumbers($item->getGroupId())))); // if (!$item->getTarget()) $item->setTarget(''); if (!$item->getData()) { $item->setData(''); } if (!$item->getStime()) { $item->setStime(0); } $db = DBConnection::getInstance(); if ($item->getId() == 0) { $query = $db->prepare("INSERT INTO messages\n\t\t\t\t\t(group_id, sender_id, user_id, kind, target, data, ctime, stime)\n\t\t\t\t\tVALUES\n\t\t\t\t\t(:group_id, :sender_id, :user_id, :kind, :target, :data, :ctime, :stime)"); $query->bindParam('group_id', $item->getGroupId()); $query->bindParam('sender_id', $item->getSenderId()); $query->bindParam('user_id', $item->getUserId()); $query->bindParam('kind', $item->getKind()); $query->bindParam('target', $item->getTarget()); $query->bindParam('data', $item->getData()); $query->bindParam('ctime', time()); $query->bindParam('stime', $item->getStime()); $query->execute(); $item->setId($db->lastInsertId()); } else { $sql = ' UPDATE messages SET group_id = :group_id, sender_id = :sender_id, user_id = :user_id, kind = :kind, target = :target, data = :data, stime = :stime WHERE id = :id '; $query = $db->prepare($sql); $query->bindParam('id', $item->getId(), \PDO::PARAM_INT); $query->bindParam('group_id', $item->getGroupId(), \PDO::PARAM_INT); $query->bindParam('sender_id', $item->getSenderId(), \PDO::PARAM_INT); $query->bindParam('user_id', $item->getUserId(), \PDO::PARAM_INT); $query->bindParam('kind', $item->getKind()); $query->bindParam('target', $item->getTarget()); $query->bindParam('data', $item->getData()); $query->bindParam('stime', $item->getStime()); $query->execute(); } return $item; }