t('views'), 'description' => t('Views: Custom content views.'), 'include' => 'view', 'prefix' => t(''), 'suffix' => t(''), 'weight' => -10, 'form' => FALSE, 'label' => t('Add Content'), 'help' => t('You can choose available content views.'), 'search' => FALSE, 'threshold' => VIEW_THRESHOLD ); if ($get_options) { $type['options'] = mysite_type_view_options(); } return $type; } } /** * Set the options for this type */ function mysite_type_view_options() { $options = array(); $sql = "SELECT vid, name, description, page_title FROM {view_view}"; $result = db_query_range($sql, VIEW_FROM, VIEW_THRESHOLD); $views = array(); while($item = db_fetch_object($result)) { $views[] =$item; } foreach ($views as $key => $value) { $options['name'][] = $value->page_title; $options['type_id'][] = $value->vid; $options['type'][] = 'view'; } return $options; } /** * Return the title if given an id */ function mysite_type_view_title($type_id = NULL, $title = NULL) { if(!empty($type_id)) { if (is_null($title)) { $sql = "SELECT page_title FROM {view_view} WHERE vid = %d"; $view = db_fetch_object(db_query($sql, $type_id)); $title = $view->page_title; } $type = mysite_type_view(); $title = $type['prefix'] . ' ' . $title . ' ' . $type['suffix']; $title = trim(rtrim($title)); return $title; } drupal_set_message(t('Could not find title'), 'error'); return; } /** * Return the page data for a requested id */ function mysite_type_view_data($type_id = NULL) { if(!empty($type_id)) { $view = views_load_view($type_id); $output = views_build_view('page', $view, $args, $view->use_pager, $view->nodes_per_page); $data = array( 'base' => $view->url, 'xml' => NULL ); $items = array(); $items[$i]['type'] = 'view'; $items[$i]['link'] = l($view->page_title, $view->url); $items[$i]['title'] = check_plain($view->page_title); $items[$i]['subtitle'] = NULL; $items[$i]['date'] = $view->changed; $items[$i]['uid'] = NULL; $items[$i]['author'] = NULL; $items[$i]['teaser'] = $output; $items[$i]['nid'] = NULL; $data['items'] = $items; return $data; } drupal_set_message(t('Could not find data'), 'error'); return; }