modified: statusnet/statusnet.php First url shortener is a custom YourLS url �shortener, if it is configured.
modified: twitter.tgz First url shortener is a custom YourLS url �shortener, if it is configured.
modified: twitter/twitter.php First url shortener is a custom YourLS url �shortener, if it is configured.
new file: yourls.tgz sets up the config for a custom YourLS url shortener.
new file: yourls/README sets up the config for a custom YourLS url shortener.
new file: yourls/yourls.css sets up the config for a custom YourLS url shortener.
new file: yourls/yourls.php sets up the config for a custom YourLS url shortener.
$shortlink = "";
require_once('library/slinky.php');
$slinky = new Slinky( $b['plink'] );
- // setup a cascade of shortening services
- // try to get a short link from these services
- // in the order ur1.ca, trim, id.gd, tinyurl
- $slinky->set_cascade( array( new Slinky_UR1ca(), new Slinky_Trim(), new Slinky_IsGd(), new Slinky_TinyURL() ) );
+ $yourls_url = get_config('yourls','url1');
+ if ($yourls_url) {
+ $yourls_username = get_config('yourls','username1');
+ $yourls_password = get_config('yourls', 'password1');
+ $yourls_ssl = get_config('yourls', 'ssl1');
+ $yourls = new Slinky_YourLS();
+ $yourls->set( 'username', $yourls_username );
+ $yourls->set( 'password', $yourls_password );
+ $yourls->set( 'ssl', $yourls_ssl );
+ $yourls->set( 'yourls-url', $yourls_url );
+ $slinky->set_cascade( array( $yourls, new Slinky_UR1ca(), new Slinky_Trim(), new Slinky_IsGd(), new Slinky_TinyURL() ) );
+ }
+ else {
+ // setup a cascade of shortening services
+ // try to get a short link from these services
+ // in the order ur1.ca, trim, id.gd, tinyurl
+ $slinky->set_cascade( array( new Slinky_UR1ca(), new Slinky_Trim(), new Slinky_IsGd(), new Slinky_TinyURL() ) );
+ }
$shortlink = $slinky->short();
// the new message will be shortened such that "... $shortlink"
// will fit into the character limit
$shortlink = "";
require_once('library/slinky.php');
$slinky = new Slinky( $b['plink'] );
- // setup a cascade of shortening services
- // try to get a short link from these services
- // in the order ur1.ca, trim, id.gd, tinyurl
- $slinky->set_cascade( array( new Slinky_UR1ca(), new Slinky_Trim(), new Slinky_IsGd(), new Slinky_TinyURL() ) );
+ $yourls_url = get_config('yourls','url1');
+ if ($yourls_url) {
+ $max_char = 135;
+ $yourls_username = get_config('yourls','username1');
+ $yourls_password = get_config('yourls', 'password1');
+ $yourls_ssl = get_config('yourls', 'ssl1');
+ $yourls = new Slinky_YourLS();
+ $yourls->set( 'username', $yourls_username );
+ $yourls->set( 'password', $yourls_password );
+ $yourls->set( 'ssl', $yourls_ssl );
+ $yourls->set( 'yourls-url', $yourls_url );
+ $slinky->set_cascade( array( $yourls, new Slinky_UR1ca(), new Slinky_Trim(), new Slinky_IsGd(), new Slinky_TinyURL() ) );
+ }
+ else {
+ // setup a cascade of shortening services
+ // try to get a short link from these services
+ // in the order ur1.ca, trim, id.gd, tinyurl
+ $slinky->set_cascade( array( new Slinky_UR1ca(), new Slinky_Trim(), new Slinky_IsGd(), new Slinky_TinyURL() ) );
+ }
$shortlink = $slinky->short();
// the new message will be shortened such that "... $shortlink"
// will fit into the character limit
// and now tweet it :-)
if(strlen($msg)) {
$result = $tweet->post('statuses/update', array('status' => $msg));
- logger('twitter_post send', LOGGER_DEBUG);
+ logger('twitter_post send' , LOGGER_DEBUG);
}
}
}
--- /dev/null
+YourLS
+
+For server admins only.
+Defines a YourLS url shortener for the Statusnet & Twitter plugins.
+
+This plugin will not do anything else unless the Statusnet and/or Twitter plugins are installed.
+
+The message is entered in the admin account at Settings -> Plugin settings.
--- /dev/null
+#yourls-label {
+ float: left;
+ width: 300px;
+ margin-top: 10px;
+}
+
+yourls-url {
+ float: left;
+ margin-top: 10px;
+}
+
+#yourls-submit {
+ margin-top: 15px;
+}
+
+.yourls {
+ text-align: left;
+ width 100%;
+ margin-top: 25px;
+ font-size: 20px;
+}
--- /dev/null
+<?php
+
+
+/**
+ * Name: Yourls
+ * Description: Defines a YourLS url shortener for the Statusnet & Twitter plugins
+ * Version: 1.0
+ * Author: Keith Fernie <http://friendika.me4.it/profile/keith>
+ *
+ */
+
+function yourls_install() {
+ register_hook('plugin_settings', 'addon/yourls/yourls.php', 'yourls_addon_settings');
+ register_hook('plugin_settings_post', 'addon/yourls/yourls.php', 'yourls_addon_settings_post');
+
+}
+
+
+function yourls_uninstall() {
+ unregister_hook('plugin_settings', 'addon/yourls/yourls.php', 'yourls_addon_settings');
+ unregister_hook('plugin_settings_post', 'addon/yourls/yourls.php', 'yourls_addon_settings_post');
+ set_config('yourls','url1',trim($_POST['']));
+ set_config('yourls','username1',trim($_POST['']));
+ set_config('yourls','password1',trim($_POST['']));
+ set_config('yourls','ssl1',trim($_POST['']));
+
+}
+
+
+
+
+
+function yourls_addon_settings(&$a,&$s) {
+
+
+ if(! is_site_admin())
+ return;
+
+ /* Add our stylesheet to the page so we can make our settings look nice */
+
+ $a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/yourls/yourls.css' . '" media="all" />' . "\r\n";
+
+
+ $yourls_url = get_config('yourls','url1');
+ $yourls_username = get_config('yourls','username1');
+ $yourls_password = get_config('yourls', 'password1');
+ $ssl_enabled = get_config('yourls','ssl1');
+ $ssl_checked = (($ssl_enabled) ? ' checked="checked" ' : '');
+
+
+
+$yourls_ssl = get_config('yourls', 'ssl1');
+
+ $s .= '<div class="settings-block">';
+ $s .= '<h3>' . t('YourLS Settings') . '</h3>';
+ $s .= '<div id="yourls-url-wrapper">';
+ $s .= '<label id="yourls-url-label" for="yourls-url">' . t('URL: http://') . '</label>';
+ $s .= '<input id="yourls-url" type="text" name="yourls_url" value="' . $yourls_url .'" />';
+ $s .= '</div><div class="clear"></div>';
+
+ $s .= '<div id="yourls-username-wrapper">';
+ $s .= '<label id="yourls-username-label" for="yourls-username">' . t('Username:') . '</label>';
+ $s .= '<input id="yourls-username" type="text" name="yourls_username" value="' . $yourls_username .'" />';
+ $s .= '</div><div class="clear"></div>';
+
+ $s .= '<div id="yourls-password-wrapper">';
+ $s .= '<label id="yourls-password-label" for="yourls-password">' . t('Password:') . '</label>';
+ $s .= '<input id="yourls-password" type="password" name="yourls_password" value="' . $yourls_password .'" />';
+ $s .= '</div><div class="clear"></div>';
+
+ $s .= '<div id="yourls-ssl-wrapper">';
+ $s .= '<label id="yourls-ssl-label" for="yourls-ssl">' . t('Use SSL ') . '</label>';
+ $s .= '<input id="yourls-ssl" type="checkbox" name="yourls_ssl" value="1" ' . $ssl_checked . '"/>';
+ $s .= '</div><div class="clear"></div>';
+
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" id="yourls-submit" name="yourls-submit" class="settings-submit" value="' . t('Submit') . '" /></div></div>';
+
+ return;
+
+}
+
+function yourls_addon_settings_post(&$a,&$b) {
+
+ if(! is_site_admin())
+ return;
+
+ if($_POST['yourls-submit']) {
+ set_config('yourls','url1',trim($_POST['yourls_url']));
+ set_config('yourls','username1',trim($_POST['yourls_username']));
+ set_config('yourls','password1',trim($_POST['yourls_password']));
+ set_config('yourls','ssl1',intval($_POST['yourls_ssl']));
+ info( t('yourls Settings saved.') . EOL);
+ }
+}