--- views_ticker.module.orig 2008-04-14 14:11:32.000000000 +0100 +++ views_ticker.module 2008-06-03 09:09:04.653335608 +0100 @@ -337,17 +337,21 @@ function _views_ticker_scroller($view, $nodes, $type, $direction) { switch ($direction) { case 'horizontal': - $jsclass = 'left'; + $jsclass = variable_get('viewsticker_hscroller_direction', 'left'); + $jspeed = variable_get('viewsticker_hscroller_speed', 30); + $jmouse = (variable_get('viewsticker_hscroller_mouseover', 0) ? ' jscroller2_mousemove' : '' ); break; case 'vertical': - $jsclass = 'up'; + $jsclass = variable_get('viewsticker_vscroller_direction', 'up'); + $jspeed = variable_get('viewsticker_vscroller_speed', 30); + $jmouse = (variable_get('viewsticker_vscroller_mouseover', 0) ? ' jscroller2_mousemove' : '' ); break; } $direction = 'scroller-'.$direction; drupal_add_css(drupal_get_path('module', 'views_ticker') .'/views.ticker.scroller.css'); drupal_add_js(drupal_get_path('module', 'views_ticker') .'/views.ticker.scroller.js'); $fields = _views_get_fields(); - $output = '
'; + $output = '
'; foreach ($nodes as $node) { $items = '
'; foreach ($view->field as $field) { @@ -447,3 +451,131 @@ function theme_views_ticker_vscroll($view, $nodes, $type) { return _views_ticker_scroller($view, $nodes, $type, 'vertical'); } + +// admin +/** + * Implementation of hook_help(). + */ +function views_ticker_help($section) { + switch ($section) { + case 'admin/modules#description': + return t('Adds javascript scrollers to the Views module.'); + } +} + +/** + * Implementation of hook_perm(). + * + * Since we are limiting the ability to create new nodes to certain users, + * we need to define what those permissions are here. We also define a permission + * to allow users to edit the nodes they created. + */ +function views_ticker_perm() { + return array('administer views_ticker'); +} + +/** + * Implementation of hook_menu(). + */ +function views_ticker_menu($may_cache) { + $items = array(); + if ($may_cache) { + $items[] = array( + 'path' => 'admin/settings/views_ticker', + 'title' => t('Views ticker settings'), + 'description' => t(''), + 'access' => user_access('administer views_ticker'), + 'callback' => 'drupal_get_form', + 'callback arguments' => 'views_ticker_settings', + 'type' => MENU_NORMAL_ITEM, + ); + + } + + return $items; + +} + +/** + * Menu callback; presents the settings form for views_ticker + */ +function views_ticker_settings() { + $form = array(); + // horizontal + $form['views_ticker_hscroller_set'] = array( + '#type' => 'fieldset', + '#title' => t('Horizontal scroller settings'), + '#description' => t(''), + '#collapsible' => TRUE, + '#collapsed' => FALSE, + ); + $form['views_ticker_hscroller_set']['viewsticker_hscroller_speed'] = array( + '#type' => 'select', + '#title' => t('Horizontal scroller speed'), + '#description' => t(''), + '#default_value' => variable_get('viewsticker_hscroller_speed', 30), + '#options' => array( + '10' => t('Very slow'), + '20' => t('Slow'), + '30' => t('Normal'), + '40' => t('Fast'), + '50' => t('Very fast'), + ), + ); + $form['views_ticker_hscroller_set']['viewsticker_hscroller_direction'] = array( + '#type' => 'select', + '#title' => t('Horizontal scroller direction'), + '#description' => t(''), + '#default_value' => variable_get('viewsticker_hscroller_direction', 'left'), + '#options' => array( + 'left' => t('Left'), + 'right' => t('Right'), + ), + ); + $form['views_ticker_hscroller_set']['viewsticker_hscroller_mouseover'] = array( + '#type' => 'checkbox', + '#title' => t('Horizontal scroller mouseover'), + '#description' => t(''), + '#default_value' => variable_get('viewsticker_hscroller_mouseover', 0), + ); + // vertical + $form['views_ticker_vscroller_set'] = array( + '#type' => 'fieldset', + '#title' => t('Vertical scroller settings'), + '#description' => t(''), + '#collapsible' => TRUE, + '#collapsed' => FALSE, + ); + $form['views_ticker_vscroller_set']['viewsticker_vscroller_speed'] = array( + '#type' => 'select', + '#title' => t('Vertical scroller speed'), + '#description' => t(''), + '#default_value' => variable_get('viewsticker_vscroller_speed', 30), + '#options' => array( + '10' => t('Very slow'), + '20' => t('Slow'), + '30' => t('Normal'), + '40' => t('Fast'), + '50' => t('Very fast'), + ), + ); + $form['views_ticker_vscroller_set']['viewsticker_vscroller_direction'] = array( + '#type' => 'select', + '#title' => t('Vertical scroller direction'), + '#description' => t(''), + '#default_value' => variable_get('viewsticker_vscroller_direction', 'up'), + '#options' => array( + 'up' => t('Up'), + 'down' => t('Down'), + ), + ); + $form['views_ticker_vscroller_set']['viewsticker_vscroller_mouseover'] = array( + '#type' => 'checkbox', + '#title' => t('Vertical scroller mouseover'), + '#description' => t(''), + '#default_value' => variable_get('viewsticker_vscroller_mouseover', 0), + ); + + return system_settings_form($form); + +}