From 591cecc1fb91859e30512618d73e53479ca71af3 Mon Sep 17 00:00:00 2001 From: Michael Johnston Date: Sat, 14 Jul 2012 14:27:28 -0400 Subject: [PATCH] alternate pagination addon --- altpager/altpager.css | 14 +++++++ altpager/altpager.php | 89 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100755 altpager/altpager.css create mode 100755 altpager/altpager.php diff --git a/altpager/altpager.css b/altpager/altpager.css new file mode 100755 index 00000000..26fb5b6d --- /dev/null +++ b/altpager/altpager.css @@ -0,0 +1,14 @@ + + + +#altpager-label { + float: left; + width: 200px; + margin-bottom: 25px; +} + +#altpager { + float: left; +} + + diff --git a/altpager/altpager.php b/altpager/altpager.php new file mode 100755 index 00000000..65f9c0d8 --- /dev/null +++ b/altpager/altpager.php @@ -0,0 +1,89 @@ + + * + * + */ + + +function altpager_install() { + + register_hook('plugin_settings', 'addon/altpager/altpager.php', 'altpager_settings'); + register_hook('plugin_settings_post', 'addon/altpager/altpager.php', 'altpager_settings_post'); + + logger("installed altpager"); +} + + +function altpager_uninstall() { + + unregister_hook('plugin_settings', 'addon/altpager/altpager.php', 'altpager_settings'); + unregister_hook('plugin_settings_post', 'addon/altpager/altpager.php', 'altpager_settings_post'); + + + logger("removed altpager"); +} + + + +/** + * + * 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 altpager_settings_post($a,$post) { + if(! local_user() || (! x($_POST,'altpager-submit'))) + return; + + set_pconfig(local_user(),'system','alt_pager',intval($_POST['altpager'])); + info( t('Altpager settings updated.') . EOL); +} + + +/** + * + * Called from the Plugin Setting form. + * Add our own settings info to the page. + * + */ + + + +function altpager_settings(&$a,&$s) { + + if(! local_user()) + return; + + /* Add our stylesheet to the page so we can make our settings look nice */ + + $a->page['htmlhead'] .= '' . "\r\n"; + + /* Get the current state of our config variable */ + + $altpager = get_pconfig(local_user(),'system','alt_pager'); + if($altpager === false) + $altpager = 0; + + $checked = (($altpager) ? ' checked="checked" ' : ''); + + /* Add some HTML to the existing form */ + + $s .= '
'; + $s .= '

' . t('Alternate Pagination Setting') . '

'; + $s .= '
'; + $s .= ''; + $s .= ''; + $s .= '
'; + + /* provide a submit button */ + + $s .= '
'; + +}