diff options
author | Friendika <info@friendika.com> | 2011-09-25 01:59:14 -0700 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-09-25 01:59:14 -0700 |
commit | 4846d114a84b0c7da64501ea89a635d24e403a1d (patch) | |
tree | 565923c7932ef7fffa4e22482fce48ddb9f133e4 /addon/randplace/randplace.php | |
parent | 6a9e22550d82595c4341290ca26e3afc5fe6300f (diff) | |
download | volse-hubzilla-4846d114a84b0c7da64501ea89a635d24e403a1d.tar.gz volse-hubzilla-4846d114a84b0c7da64501ea89a635d24e403a1d.tar.bz2 volse-hubzilla-4846d114a84b0c7da64501ea89a635d24e403a1d.zip |
project fork
Diffstat (limited to 'addon/randplace/randplace.php')
-rw-r--r-- | addon/randplace/randplace.php | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/addon/randplace/randplace.php b/addon/randplace/randplace.php deleted file mode 100644 index bae8e7c69..000000000 --- a/addon/randplace/randplace.php +++ /dev/null @@ -1,180 +0,0 @@ -<?php -/** - * Name: Random place - * Description: Sample Friendika plugin/addon. Set a random place when posting. - * Version: 1.0 - * Author: Mike Macgirvin <http://macgirvin.com/profile/mike> - * - * - * - * - * Addons are registered with the system in the - * .htconfig.php file. - * - * $a->config['system']['addon'] = 'plugin1,plugin2,etc.'; - * - * When registration is detected, the system calls the plugin - * name_install() function, located in 'addon/name/name.php', - * where 'name' is the name of the addon. - * If the addon is removed from the configuration list, the - * system will call the name_uninstall() function. - * - */ - - -function randplace_install() { - - /** - * - * Our demo plugin will attach in three places. - * The first is just prior to storing a local post. - * - */ - - register_hook('post_local', 'addon/randplace/randplace.php', 'randplace_post_hook'); - - /** - * - * Then we'll attach into the plugin settings page, and also the - * settings post hook so that we can create and update - * user preferences. - * - */ - - register_hook('plugin_settings', 'addon/randplace/randplace.php', 'randplace_settings'); - register_hook('plugin_settings_post', 'addon/randplace/randplace.php', 'randplace_settings_post'); - - logger("installed randplace"); -} - - -function randplace_uninstall() { - - /** - * - * uninstall unregisters any hooks created with register_hook - * during install. It may also delete configuration settings - * and any other cleanup. - * - */ - - unregister_hook('post_local', 'addon/randplace/randplace.php', 'randplace_post_hook'); - unregister_hook('plugin_settings', 'addon/randplace/randplace.php', 'randplace_settings'); - unregister_hook('plugin_settings_post', 'addon/randplace/randplace.php', 'randplace_settings_post'); - - - logger("removed randplace"); -} - - - -function randplace_post_hook($a, &$item) { - - /** - * - * An item was posted on the local system. - * We are going to look for specific items: - * - A status post by a profile owner - * - The profile owner must have allowed our plugin - * - */ - - logger('randplace invoked'); - - if(! local_user()) /* non-zero if this is a logged in user of this system */ - return; - - if(local_user() != $item['uid']) /* Does this person own the post? */ - return; - - if($item['parent']) /* If the item has a parent, this is a comment or something else, not a status post. */ - return; - - /* Retrieve our personal config setting */ - - $active = get_pconfig(local_user(), 'randplace', 'enable'); - - if(! $active) - return; - - /** - * - * OK, we're allowed to do our stuff. - * Here's what we are going to do: - * load the list of timezone names, and use that to generate a list of world cities. - * Then we'll pick one of those at random and put it in the "location" field for the post. - * - */ - - $cities = array(); - $zones = timezone_identifiers_list(); - foreach($zones as $zone) { - if((strpos($zone,'/')) && (! stristr($zone,'US/')) && (! stristr($zone,'Etc/'))) - $cities[] = str_replace('_', ' ',substr($zone,strpos($zone,'/') + 1)); - } - - if(! count($cities)) - return; - $city = array_rand($cities,1); - $item['location'] = $cities[$city]; - - return; -} - - - - -/** - * - * Callback from the settings post function. - * $post contains the $_POST array. - * We will make sure we've got a valid user account - * and if so set our configuration setting for this person. - * - */ - -function randplace_settings_post($a,$post) { - if(! local_user()) - return; - set_pconfig(local_user(),'randplace','enable',intval($_POST['randplace'])); -} - - -/** - * - * Called from the Plugin Setting form. - * Add our own settings info to the page. - * - */ - - - -function randplace_settings(&$a,&$s) { - - if(! local_user()) - 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/randplace/randplace.css' . '" media="all" />' . "\r\n"; - - /* Get the current state of our config variable */ - - $enabled = get_pconfig(local_user(),'randplace','enable'); - - $checked = (($enabled) ? ' checked="checked" ' : ''); - - /* Add some HTML to the existing form */ - - $s .= '<div class="settings-block">'; - $s .= '<h3>' . t('Randplace Settings') . '</h3>'; - $s .= '<div id="randplace-enable-wrapper">'; - $s .= '<label id="randplace-enable-label" for="randplace-checkbox">' . t('Enable Randplace Plugin') . '</label>'; - $s .= '<input id="randplace-checkbox" type="checkbox" name="randplace" value="1" ' . $checked . '/>'; - $s .= '</div><div class="clear"></div>'; - - /* provide a submit button */ - - $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div></div>'; - -} |