Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This document describes how to implement Messengers. A Messenger allows sending notifications through different methods of communication, like SMS and voice calls.

Note
titleCompatibility check

Messengers are only available in Blesta v4.12.0 onwards.

Getting Started with Messengers

...

Code Block
languagephp
title/modulesmessengers/my_messenger/my_messenger.php
linenumberstrue
<?php
class MyMessenger extends Messenger {

    ...

    public function install() {
        #
        # TODO: Place installation logic here
        #
    }
}
?>

...

Code Block
languagephp
title/modulesmessengers/my_messenger/my_messenger.php
linenumberstrue
<?php 
class MyMessenger extends Messenger {

    ... 

    public function uninstall($messenger_id, $last_instance) {
        #
        # TODO: Place uninstallation logic here 
        #
    } 
} 
?>

...

Code Block
languagephp
title/modulesmessengers/my_messenger/my_messenger.php
linenumberstrue
<?php
class MyMessenger extends Messenger {

    ...

    public function upgrade($current_version) {
        #
        # TODO: Place upgrade logic here
        #
    }

}
?>

...

Code Block
languagephp
title/modulemessengers/my_messenger/my_messenger.php
linenumberstrue
<?php
class MyMessenger extends Messenger {

    public function __construct() {
        Loader::loadComponents($this, ['Input']);
    }

    ...

    public function upgrade($current_version) {
        // Ensure new version is greater than installed version
        if (version_compare($this->version, $current_version) < 0) {
            $this->Input->setErrors([
                'version' => ['invalid' => 'Downgrades are not allowed.']
            ]);
            return;
        }
    }
}
?>

...