erLhcoreClassModelDepartamentGroupMember::afterSave PHP Method

afterSave() public method

public afterSave ( )
    public function afterSave()
    {
        $db = ezcDbInstance::get();
        $stmt = $db->prepare('SELECT user_id FROM lh_departament_group_user WHERE dep_group_id = :dep_group_id');
        $stmt->bindValue(':dep_group_id', $this->dep_group_id);
        $stmt->execute();
        $userIds = $stmt->fetchAll(PDO::FETCH_COLUMN);
        foreach ($userIds as $userId) {
            $stmt = $db->prepare('SELECT hide_online FROM lh_users WHERE id = :user_id');
            $stmt->bindValue(':user_id', $userId);
            $stmt->execute();
            $hide_online = $stmt->fetch(PDO::FETCH_COLUMN);
            $stmt = $db->prepare('INSERT INTO lh_userdep (user_id,dep_id,hide_online,last_activity,last_accepted,active_chats,type,dep_group_id) VALUES (:user_id,:dep_id,:hide_online,0,0,:active_chats,1,:dep_group_id)');
            $stmt->bindValue(':user_id', $userId);
            $stmt->bindValue(':dep_id', $this->dep_id);
            $stmt->bindValue(':hide_online', $hide_online);
            $stmt->bindValue(':dep_group_id', $this->dep_group_id);
            $stmt->bindValue(':active_chats', erLhcoreClassChat::getCount(array('filter' => array('user_id' => $userId, 'status' => erLhcoreClassModelChat::STATUS_ACTIVE_CHAT))));
            $stmt->execute();
            self::updateUserDepartmentsIds($userId);
        }
    }