Exemplo n.º 1
0
<?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);
}
Exemplo n.º 2
0
    /**
     * 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;
    }