Index: sites/all/modules/quicktabs-HEAD/quicktabs.info =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/quicktabs/quicktabs.info,v retrieving revision 1.3 diff -u -p -r1.3 quicktabs.info --- sites/all/modules/quicktabs-HEAD/quicktabs.info 17 Apr 2008 22:59:23 -0000 1.3 +++ sites/all/modules/quicktabs-HEAD/quicktabs.info 24 Aug 2009 02:33:22 -0000 @@ -1,4 +1,7 @@ ; $Id: quicktabs.info,v 1.3 2008/04/17 22:59:23 katbailey Exp $ name = Quick Tabs description = Create blocks of tabbed views and blocks. -core = 6.x \ No newline at end of file +core = 7.x + +files[] = quicktabs.module +files[] = quicktabs.install \ No newline at end of file Index: sites/all/modules/quicktabs-HEAD/quicktabs.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/quicktabs/quicktabs.module,v retrieving revision 1.10 diff -u -p -r1.10 quicktabs.module --- sites/all/modules/quicktabs-HEAD/quicktabs.module 3 Nov 2008 03:31:29 -0000 1.10 +++ sites/all/modules/quicktabs-HEAD/quicktabs.module 24 Aug 2009 02:33:23 -0000 @@ -1,10 +1,13 @@ Visit the Quick Tabs configuration page to choose a style for your Quick Tabs blocks.
Click on the "New QT block" tab below to get started.
', array('@configuration' => url('admin/settings/quicktabs'))); case 'admin/build/quicktabs/add': - return ''. t('Here you can create a new Quick Tabs block. Once you have created this block you will be taken to the blocks page to configure and enable it.', array('@overview' => url('admin/build/block'))) .'
'; + return '' . t('Here you can create a new Quick Tabs block. Once you have created this block you will be taken to the blocks page to configure and enable it.', array('@overview' => url('admin/build/block'))) . '
'; } } +/** + * Implements hook_theme(). + */ function quicktabs_theme() { return array( 'quicktabs_settings' => array( @@ -43,95 +49,104 @@ function quicktabs_theme() { } /** - * Implementation of hook_menu(). + * Implements hook_menu(). */ function quicktabs_menu() { $items = array(); - $items['admin/build/quicktabs'] = array( - 'title' => 'Quick Tabs', - 'description' => 'Create blocks of tabbed content - content for each tab can be a view or a block', - 'page callback' => 'quicktabs_list', - 'access arguments' => array('administer quicktabs blocks'), - ); - $items['admin/build/quicktabs/list'] = array( - 'title' => 'List', - 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10); - $items['admin/build/quicktabs/add'] = array( - 'title' => 'New QT block', - 'access arguments' => array('create quicktabs block'), - 'page callback' => 'quicktabs_new', - 'weight' => 0, - 'type' => MENU_LOCAL_TASK); - $items['admin/build/quicktabs/ajax/add'] = array( - 'title' => 'New QT AJAX block', - 'access arguments' => array('create quicktabs block'), - 'page callback' => 'quicktabs_new', - 'page arguments' => array(TRUE), - 'weight' => 1, - 'type' => MENU_LOCAL_TASK); - $items['admin/build/quicktabs/delete'] = array( - 'title' => 'Delete QT block', - 'access arguments' => array('administer blocks'), - 'page callback' => 'drupal_get_form', - 'page arguments' => array('quicktabs_block_delete'), - 'type' => MENU_CALLBACK); - $items['admin/build/quicktabs/edit'] = array( - 'title' => 'Edit QT block', - 'access arguments' => array('administer blocks'), - 'page callback' => 'quicktabs_block_edit', - 'type' => MENU_CALLBACK); - $items['admin/settings/quicktabs'] = array( - 'title' => 'Quick Tabs', - 'description' => 'Select a style for your Quick Tabs blocks', - 'page callback' => 'drupal_get_form', - 'page arguments' => array('quicktabs_settings'), - 'type' => MENU_NORMAL_ITEM, - 'access arguments' => array('administer site configuration'), - ); - $items['quicktabs/preview'] = array( - 'page callback' => 'quicktabs_preview_page', - 'type' => MENU_CALLBACK, - 'access arguments' => array('administer site configuration'), - ); - $items['quicktabs/ahah'] = array( - 'page callback' => 'quicktabs_ahah', - 'type' => MENU_CALLBACK, - 'access arguments' => array('administer site configuration'), - ); - $items['quicktabs/views/displays'] = array( - 'page callback' => 'quicktabs_ajax', - 'type' => MENU_CALLBACK, - 'access arguments' => array('administer site configuration'), - ); - $items['quicktabs/ajax/views'] = array( - 'page callback' => 'quicktabs_ajax_views', - 'type' => MENU_CALLBACK, - 'access arguments' => array('access content'), - ); - $items['quicktabs/ajax/node'] = array( - 'page callback' => 'quicktabs_ajax_node', - 'type' => MENU_CALLBACK, - 'access arguments' => array('access content'), - ); + $items['admin/build/quicktabs'] = array( + 'title' => 'Quick Tabs', + 'description' => 'Create blocks of tabbed content - content for each tab can be a view or a block', + 'page callback' => 'quicktabs_list', + 'access arguments' => array('administer quicktabs blocks'), + ); + $items['admin/build/quicktabs/list'] = array( + 'title' => 'List', + 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10); + $items['admin/build/quicktabs/add'] = array( + 'title' => 'New QT block', + 'access arguments' => array('create quicktabs block'), + 'page callback' => 'quicktabs_new', + 'weight' => 0, + 'type' => MENU_LOCAL_TASK); + $items['admin/build/quicktabs/ajax/add'] = array( + 'title' => 'New QT AJAX block', + 'access arguments' => array('create quicktabs block'), + 'page callback' => 'quicktabs_new', + 'page arguments' => array(TRUE), + 'weight' => 1, + 'type' => MENU_LOCAL_TASK); + $items['admin/build/quicktabs/delete'] = array( + 'title' => 'Delete QT block', + 'access arguments' => array('administer blocks'), + 'page callback' => 'drupal_get_form', + 'page arguments' => array('quicktabs_block_delete'), + 'type' => MENU_CALLBACK); + $items['admin/build/quicktabs/edit'] = array( + 'title' => 'Edit QT block', + 'access arguments' => array('administer blocks'), + 'page callback' => 'quicktabs_block_edit', + 'type' => MENU_CALLBACK); + $items['admin/settings/quicktabs'] = array( + 'title' => 'Quick Tabs', + 'description' => 'Select a style for your Quick Tabs blocks', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('quicktabs_settings'), + 'type' => MENU_NORMAL_ITEM, + 'access arguments' => array('administer site configuration'), + ); + $items['quicktabs/preview'] = array( + 'page callback' => 'quicktabs_preview_page', + 'type' => MENU_CALLBACK, + 'access arguments' => array('administer site configuration'), + ); + $items['quicktabs/ahah'] = array( + 'page callback' => 'quicktabs_ahah', + 'type' => MENU_CALLBACK, + 'access arguments' => array('administer site configuration'), + ); + $items['quicktabs/views/displays'] = array( + 'page callback' => 'quicktabs_ajax', + 'type' => MENU_CALLBACK, + 'access arguments' => array('administer site configuration'), + ); + $items['quicktabs/ajax/views'] = array( + 'page callback' => 'quicktabs_ajax_views', + 'type' => MENU_CALLBACK, + 'access arguments' => array('access content'), + ); + $items['quicktabs/ajax/node'] = array( + 'page callback' => 'quicktabs_ajax_node', + 'type' => MENU_CALLBACK, + 'access arguments' => array('access content'), + ); return $items; } /** - * Implementation of hook_perm(). + * Implements hook_permission(). */ -function quicktabs_perm() { - return array('create quicktabs block', 'administer quicktabs blocks'); +function quicktabs_permission() { + return array( + 'create quicktabs block' => array( + 'title' => 'Create quicktabs block', + 'description' => 'Create the quicktabs block.', + ), + 'administer quicktabs blocks' => array( + 'title' => 'Administer quicktabs blocks', + 'description' => 'Administer all quicktabs blocks.', + ), + ); } function quicktabs_list() { $result = db_query('SELECT qtid, title FROM {quicktabs}'); $header = array(t('Quick Tabs Block Name'), t('Delete')); $rows = array(); - while ($row = db_fetch_object($result)) { + foreach ($result AS $row) { $tablerow = array( - array('data' => $row->title .' ('. l('edit', 'admin/build/quicktabs/edit/'. $row->qtid) .')'), - array('data' => l(t('Delete'), 'admin/build/quicktabs/delete/'. $row->qtid)), + array('data' => $row->title . ' (' . l('edit', 'admin/build/quicktabs/edit/' . $row->qtid) . ')'), + array('data' => l(t('Delete'), 'admin/build/quicktabs/delete/' . $row->qtid)), ); $rows[] = $tablerow; } @@ -143,15 +158,16 @@ function quicktabs_list() { function quicktabs_new($ajax = FALSE) { global $base_url; $quicktabsForm = array( - 'ajax_path' => $base_url .'/quicktabs/views/displays' + 'ajax_path' => $base_url . '/quicktabs/views/displays' ); drupal_add_js('/misc/jquery.form.js'); drupal_add_js(array('quicktabsForm' => $quicktabsForm), 'setting'); - drupal_add_js(drupal_get_path('module', 'quicktabs') .'/js/quicktabs_form.js'); - drupal_add_css(drupal_get_path('module', 'quicktabs') .'/quicktabs.css'); + drupal_add_js(drupal_get_path('module', 'quicktabs') . '/js/quicktabs_form.js'); + drupal_add_css(drupal_get_path('module', 'quicktabs') . '/quicktabs.css'); if (!$ajax) { return drupal_get_form('quicktabs_form'); - } else { + } + else { return drupal_get_form('quicktabs_aj_form'); } } @@ -197,7 +213,7 @@ function _quicktabs_get_default_view_dis function quicktabs_get_views() { $result = db_query("SELECT v.name, v.description FROM {views_view} v"); $views = array(); - while ($view = db_fetch_object($result)) { + foreach ($result AS $view) { $views[$view->name] = $view->name; } $status = variable_get('views_defaults', array()); @@ -218,7 +234,7 @@ function quicktabs_get_blocks() { $blocksarray = array(); foreach ($blocks as $i => $block) { if ($block['module'] != 'quicktabs') { - $key = $block['module'] .'_delta_'. $block['delta']; + $key = $block['module'] . '_delta_' . $block['delta']; $blocksarray[$key] = $block['info']; } } @@ -226,18 +242,11 @@ function quicktabs_get_blocks() { } function quicktabs_get_nodes() { - $nodes = array(); - // TODO: make the allowed node types an admin setting - $result = db_query('SELECT nid, title FROM {node} WHERE type in ("page", "story")'); - while ($row = db_fetch_object($result)) { - $key = $row->nid; - $nodes[$key] = $row->title; - } - return $nodes; + // Returns an array of nodes: nid => title + return db_select('node')->fields(array('nid', 'title'))->condition('type', array('page', 'story'), 'IN')->fetchAllKeyed(); } function quicktabs_form(&$form, $form_state = NULL) { - $form = array( '#cache' => TRUE, ); @@ -312,13 +321,11 @@ function quicktabs_form(&$form, $form_st 'effect' => 'fade', ), ); -$form['submit'] = array( -'#type' => 'submit', -'#value' => t('Save'), -); - + $form['submit'] = array( + '#type' => 'submit', + '#value' => t('Save'), + ); return $form; - } @@ -350,47 +357,48 @@ function _quicktabs_form($delta, $weight if (module_exists('views')) { $views = quicktabs_get_views(); $form['type_options'] = array( - '#type' => 'value', - '#value' => array( - 'block' => 'block', - 'view' => 'view', - ) + '#type' => 'value', + '#value' => array( + 'block' => 'block', + 'view' => 'view', + ) ); $form['tabtype'] = array( - '#type' => 'radios', - '#options' => $form['type_options']['#value'], - '#title' => t('Tab Content'), - '#default_value' => $type, - '#parents' => array('tabs', $delta, 'tabtype'), + '#type' => 'radios', + '#options' => $form['type_options']['#value'], + '#title' => t('Tab Content'), + '#default_value' => $type, + '#parents' => array('tabs', $delta, 'tabtype'), ); $views_keys = array_keys($views); $selected_view = ($vid ? ($vid == 'default' ? $views_keys[0] : ($type == 'block' ? $views_keys[0] : $vid)) : $views_keys[0]); $form['vid'] = array( - '#type' => 'select', - '#options' => $views, - '#default_value' => $selected_view, - '#title' => t('Select a view'), - '#parents' => array('tabs', $delta, 'vid'), + '#type' => 'select', + '#options' => $views, + '#default_value' => $selected_view, + '#title' => t('Select a view'), + '#parents' => array('tabs', $delta, 'vid'), ); $form['args'] = array( - '#type' => 'textfield', - '#title' => 'arguments', - '#size' => '10', - '#required' => false, - '#default_value' => $args, - '#description' => t('Provide a comma separated list of arguments to pass to the view.'), - '#parents' => array('tabs', $delta, 'args') + '#type' => 'textfield', + '#title' => 'arguments', + '#size' => '10', + '#required' => FALSE, + '#default_value' => $args, + '#description' => t('Provide a comma separated list of arguments to pass to the view.'), + '#parents' => array('tabs', $delta, 'args') ); $form['display'] = array( - '#type' => 'select', - '#title' => 'display', - '#options' => _quicktabs_get_views_displays($selected_view), - '#default_value' => $display, - '#description' => t('Choose a display for your view.'), - '#parents' => array('tabs', $delta, 'display') + '#type' => 'select', + '#title' => 'display', + '#options' => _quicktabs_get_views_displays($selected_view), + '#default_value' => $display, + '#description' => t('Choose a display for your view.'), + '#parents' => array('tabs', $delta, 'display') ); - } else { + } + else { $form['tabtype'] = array( '#type' => 'hidden', '#title' => t('Type for tab @n', array('@n' => ($delta + 1))), @@ -413,11 +421,11 @@ function _quicktabs_form($delta, $weight ); $form['remove'] = array( '#type' => 'submit', - '#value' => 'remove_'. $delta, + '#value' => 'remove_' . $delta, '#attributes' => array('class' => 'delete-tab'), '#parents' => array('tabs', $delta, 'remove'), '#ahah' => array( - 'path' => 'quicktabs/ahah/'. $delta, + 'path' => 'quicktabs/ahah/' . $delta, 'wrapper' => 'quicktabs-tabs', 'method' => 'replace', 'effect' => 'fade', @@ -429,7 +437,7 @@ function _quicktabs_form($delta, $weight function theme_qt_tabs($form) { // Change the button title to reflect the behavior when using JavaScript. drupal_add_tabledrag('qt-tablist-table', 'order', 'sibling', 'qt-tabs-weight'); - drupal_add_js('if (Drupal.jsEnabled) { $(document).ready(function() { $("#edit-tabs-more").val("'. t('Add another tab') .'"); }); }', 'inline'); + drupal_add_js('if (Drupal.jsEnabled) { $(document).ready(function() { $("#edit-tabs-more").val("' . t('Add another tab') . '"); }); }', 'inline'); $rows = array(); $headers = array( @@ -475,7 +483,7 @@ function quicktabs_form_validate($form, else { foreach ($form_state['values']['tabs'] as $j => $tab) { if (empty($tab['tabtext'])) { - form_set_error('tabs]['. $j .'][tabtext', t('You must give each tab a title.')); + form_set_error('tabs][' . $j . '][tabtext', t('You must give each tab a title.')); } } } @@ -518,7 +526,6 @@ function quicktabs_form_submit($form, $f * ajax version */ function quicktabs_aj_form(&$form, $form_state = NULL) { - $form = array( '#cache' => TRUE, ); @@ -591,13 +598,11 @@ function quicktabs_aj_form(&$form, $form 'effect' => 'fade', ), ); -$form['submit'] = array( -'#type' => 'submit', -'#value' => t('Save'), -); - + $form['submit'] = array( + '#type' => 'submit', + '#value' => t('Save'), + ); return $form; - } function _quicktabs_aj_form($delta, $weight = -10, $title = '', $type='node', $nid = 0, $vid = 'default', $args = NULL, $display = 'default') { @@ -628,47 +633,48 @@ function _quicktabs_aj_form($delta, $wei if (module_exists('views')) { $views = quicktabs_get_views(); $form['type_options'] = array( - '#type' => 'value', - '#value' => array( - 'node' => 'node', - 'view' => 'view', - ) + '#type' => 'value', + '#value' => array( + 'node' => 'node', + 'view' => 'view', + ) ); $form['tabtype'] = array( - '#type' => 'radios', - '#options' => $form['type_options']['#value'], - '#title' => t('Tab Content'), - '#default_value' => $type, - '#parents' => array('tabs', $delta, 'tabtype'), + '#type' => 'radios', + '#options' => $form['type_options']['#value'], + '#title' => t('Tab Content'), + '#default_value' => $type, + '#parents' => array('tabs', $delta, 'tabtype'), ); $views_keys = array_keys($views); $selected_view = ($vid ? ($vid == 'default' ? $views_keys[0] : ($type == 'node' ? $views_keys[0] : $vid)) : $views_keys[0]); $form['vid'] = array( - '#type' => 'select', - '#options' => $views, - '#default_value' => $selected_view, - '#title' => t('Select a view'), - '#parents' => array('tabs', $delta, 'vid'), + '#type' => 'select', + '#options' => $views, + '#default_value' => $selected_view, + '#title' => t('Select a view'), + '#parents' => array('tabs', $delta, 'vid'), ); $form['args'] = array( - '#type' => 'textfield', - '#title' => 'arguments', - '#size' => '10', - '#required' => false, - '#default_value' => $args, - '#description' => t('Provide a comma separated list of arguments to pass to the view.'), - '#parents' => array('tabs', $delta, 'args') + '#type' => 'textfield', + '#title' => 'arguments', + '#size' => '10', + '#required' => FALSE, + '#default_value' => $args, + '#description' => t('Provide a comma separated list of arguments to pass to the view.'), + '#parents' => array('tabs', $delta, 'args') ); $form['display'] = array( - '#type' => 'select', - '#title' => 'display', - '#options' => _quicktabs_get_views_displays($selected_view), - '#default_value' => $display, - '#description' => t('Choose a display for your view.'), - '#parents' => array('tabs', $delta, 'display') + '#type' => 'select', + '#title' => 'display', + '#options' => _quicktabs_get_views_displays($selected_view), + '#default_value' => $display, + '#description' => t('Choose a display for your view.'), + '#parents' => array('tabs', $delta, 'display') ); - } else { + } + else { $form['tabtype'] = array( '#type' => 'hidden', '#title' => t('Type for tab @n', array('@n' => ($delta + 1))), @@ -685,11 +691,11 @@ function _quicktabs_aj_form($delta, $wei ); $form['remove'] = array( '#type' => 'submit', - '#value' => 'remove_'. $delta, + '#value' => 'remove_' . $delta, '#attributes' => array('class' => 'delete-tab'), '#parents' => array('tabs', $delta, 'remove'), '#ahah' => array( - 'path' => 'quicktabs/ahah/true/'. $delta, + 'path' => 'quicktabs/ahah/true/' . $delta, 'wrapper' => 'quicktabs-tabs', 'method' => 'replace', 'effect' => 'fade', @@ -701,7 +707,7 @@ function _quicktabs_aj_form($delta, $wei function theme_qtaj_tabs($form) { // Change the button title to reflect the behavior when using JavaScript. drupal_add_tabledrag('qt-tablist-table', 'order', 'sibling', 'qt-tabs-weight'); - drupal_add_js('if (Drupal.jsEnabled) { $(document).ready(function() { $("#edit-tabs-more").val("'. t('Add another tab') .'"); }); }', 'inline'); + drupal_add_js('if (Drupal.jsEnabled) { $(document).ready(function() { $("#edit-tabs-more").val("' . t('Add another tab') . '"); }); }', 'inline'); $rows = array(); $headers = array( @@ -747,14 +753,13 @@ function quicktabs_aj_form_validate($for else { foreach ($form_state['values']['tabs'] as $j => $tab) { if (empty($tab['tabtext'])) { - form_set_error('tabs]['. $j .'][tabtext', t('You must give each tab a title.')); + form_set_error('tabs][' . $j . '][tabtext', t('You must give each tab a title.')); } } } } function quicktabs_aj_form_submit($form, $form_state) { - $formvalues_tabs = array(); foreach ($form_state['values']['tabs'] as $j => $tab) { $formvalues_tabs[] = array( @@ -812,12 +817,14 @@ function quicktabs_ahah($ajax = FALSE, $ $form_element = $ajax ? _quicktabs_aj_form($delta, $newweight) : _quicktabs_form($delta, $newweight); } $form['qt_wrapper']['tabs'][$delta] = $form_element; - } else { + } + else { $op = 'remove'; if (count($form['qt_wrapper']['tabs']) > 2) { unset($form['qt_wrapper']['tabs'][$delta]); - } else { - drupal_set_message('The number of tabs cannot be less than two. Simply change the content of the second tab.'); + } + else { + drupal_set_message(t('The number of tabs cannot be less than two. Simply change the content of the second tab.')); } } @@ -835,7 +842,7 @@ function quicktabs_ahah($ajax = FALSE, $ unset($qt_form['#prefix'], $qt_form['#suffix']); // Prevent duplicate wrappers. if ($op != 'remove') { $stripe = $delta % 2 ? 'even' : 'odd'; - $qt_form[$delta]['#attributes']['class'] = empty($qt_form[$delta]['#attributes']['class']) ? 'draggable ahah-new-content'. $stripe : $qt_form[$delta]['#attributes']['class'] .'draggable ahah-new-content'; + $qt_form[$delta]['#attributes']['class'] = empty($qt_form[$delta]['#attributes']['class']) ? 'draggable ahah-new-content' . $stripe : $qt_form[$delta]['#attributes']['class'] . 'draggable ahah-new-content'; } $output = theme('status_messages') . drupal_render($qt_form); @@ -844,11 +851,14 @@ function quicktabs_ahah($ajax = FALSE, $ function _quicktabs_get_views_displays($view) { - $displays = array(); - $result = db_query('SELECT d.id FROM {views_view} v INNER JOIN {views_display} d ON v.vid = d.vid WHERE v.name = "%s" ORDER BY position ASC', $view); - while ($row = db_fetch_object($result)) { - $displays[$row->id] = $row->id; - } + $query = db_select('views_view', 'v') + ->join('views_display', 'd', 'v.vid = d.vid'); + $displays = $query + ->fields('d', array('id', 'id')) + ->condition('v.name', $view) + ->orderBy('position') + ->fetchAllKeyed(); + if (empty($displays)) { $displays = _quicktabs_get_default_view_displays($view); } @@ -858,12 +868,12 @@ function _quicktabs_get_views_displays($ function quicktabs_ajax($view, $delta) { $form_element = array( - '#name' => 'tabs['. $delta .'][display]', - '#type' => 'select', - '#title' => 'display', - '#options' => _quicktabs_get_views_displays($view), - '#description' => t('Choose a display for your view.'), - '#parents' => array('tabs', $delta, 'display') + '#name' => 'tabs[' . $delta . '][display]', + '#type' => 'select', + '#title' => 'display', + '#options' => _quicktabs_get_views_displays($view), + '#description' => t('Choose a display for your view.'), + '#parents' => array('tabs', $delta, 'display') ); $form_state = array('submitted' => FALSE); @@ -884,13 +894,24 @@ function quicktabs_ajax($view, $delta) { function quicktabs_createblock($fullcontent, $ajax = FALSE) { - $qtid = db_last_insert_id('quicktabs', 'qtid'); $title = $fullcontent['blocktitle']; $tabs = serialize($fullcontent['blockcontent']); if (!$ajax) { - db_query('INSERT INTO {quicktabs} (qtid, title, tabs) VALUES(%d, "%s", "%s")', $qtid, $title, $tabs); - } else { - db_query('INSERT INTO {quicktabs} (qtid, ajax, title, tabs) VALUES(%d, 1, "%s", "%s")', $qtid, $title, $tabs); + db_insert('quicktabs') + ->fields(array( + 'title' => $title, + 'tabs' => $tabs, + )) + ->execute(); + } + else { + db_insert('quicktabs') + ->fields(array( + 'ajax' => 1, + 'title' => $title, + 'tabs' => $tabs, + )) + ->execute(); } return; } @@ -898,158 +919,168 @@ function quicktabs_createblock($fullcont function quicktabs_updateblock($qtid, $fullcontent) { $title = $fullcontent['blocktitle']; $tabs = serialize($fullcontent['blockcontent']); - db_query('UPDATE {quicktabs} SET title="%s", tabs="%s" WHERE qtid=%d', $title, $tabs, $qtid); + db_update('quicktabs') + ->fields(array( + 'title' => $title, + 'tabs' => $tabs, + )) + ->condition('qtid', $qtid) + ->execute(); return; } /** - * Implementation of hook_block + * Implements hook_block_list */ -function quicktabs_block($op = 'list', $delta = 0, $edit = array()) { +function quicktabs_block_list() { + $jqueryblocks = array(); + $result = db_select('quicktabs') + ->fields(array('qtid', 'title')); + $jqueryblocks = $result->fetchAllKeyed; + foreach ($jqueryblocks as $key => $val) { + $blocks[$key]['info'] = t($val); + } + return $blocks; +} - switch ($op) { - case 'list': - $jqueryblocks = array(); - $result = db_query('SELECT * FROM {quicktabs}'); - while ($row = db_fetch_object($result)) { - $jqueryblocks[$row->qtid] = $row->title; +/** + * Implements hook_block_view + */ +function quicktabs_block_view($delta = '') { + if ($qtblock = db_select('quicktabs')->fields(array('qtid', 'ajax', 'title', 'tabs'))->condition('qtid', $delta)->fetchObject()) { + quicktabs_add_css(); + drupal_add_js(drupal_get_path('module', 'quicktabs') . '/js/quicktabs.js'); + if ($qtblock->ajax == 0) { + $mainblock['subject'] = $qtblock->title; + $tabs = unserialize($qtblock->tabs); + foreach ($tabs as $key => $tab) { + $weight[$key] = $tab['weight']; } - foreach ($jqueryblocks as $key => $val) { - $blocks[$key]['info'] = t($val); + array_multisort($weight, SORT_ASC, $tabs); + $tabtitles = array(); + foreach ($tabs as $tab) { + $tabtitles[] = $tab['title']; } - return $blocks; - break; - case 'view': - if ($qtblock = db_fetch_object(db_query('SELECT qtid, ajax, title, tabs FROM {quicktabs} WHERE qtid = %d', $delta))) { - quicktabs_add_css(); - drupal_add_js(drupal_get_path('module', 'quicktabs') .'/js/quicktabs.js'); - if ($qtblock->ajax == 0) { - $mainblock['subject'] = $qtblock->title; - $tabs = unserialize($qtblock->tabs); - foreach ($tabs as $key => $tab) { - $weight[$key] = $tab['weight']; - } - array_multisort($weight, SORT_ASC, $tabs); - $tabtitles = array(); - foreach ($tabs as $tab) { - $tabtitles[] = $tab['title']; - } - $output = '