summaryrefslogtreecommitdiff
path: root/apps/mm/plugins/SenderIdentica.class.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/mm/plugins/SenderIdentica.class.php')
-rw-r--r--apps/mm/plugins/SenderIdentica.class.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/apps/mm/plugins/SenderIdentica.class.php b/apps/mm/plugins/SenderIdentica.class.php
new file mode 100644
index 0000000..ab55eb9
--- /dev/null
+++ b/apps/mm/plugins/SenderIdentica.class.php
@@ -0,0 +1,35 @@
+<?php
+require_once('Plugin.class.php');
+require_once('Identica.class.php');
+
+class SenderIdentica extends Plugin {
+ protected $config = array('username'=>'',
+ 'password'=>'',
+ 'length'=>140);
+ private $obj;
+
+ public static function description() {
+ return 'Dent messages to Identi.ca.';
+ }
+
+ public static function configList() {
+ return array('username'=>'text',
+ 'password'=>'password',
+ 'length'=>'int');
+ }
+
+ public function init() {
+ $this->obj = new Identica($this->config['username'],
+ $this->config['password']);
+ }
+
+ public function sendBroadcast($id, $subject, $body) {
+ global $shorturl, $messenger;
+ $url = $shorturl->get($messenger->id2url($id));
+ $maxlen = $this->config['length']-(strlen($url)+1);
+ if($maxlen < strlen($subject)) {
+ $subject = substr($subject,0,$maxlen-3).'...';
+ }
+ $this->obj->updateStatus($subject.' '.$url);
+ }
+}