49 lines
1.1 KiB
Plaintext
49 lines
1.1 KiB
Plaintext
<?php
|
|
|
|
function cobalttaxonomy_init() {
|
|
if (user_access('use cobalt')) {
|
|
drupal_add_js(drupal_get_path('module', 'cobalt') . '/js/cobalt.taxonomy.js');
|
|
}
|
|
}
|
|
|
|
function cobalttaxonomy_menu() {
|
|
$items = array();
|
|
$items['cobalt/data/taxonomy_json'] = array(
|
|
'title' => 'Serialized taxonomies',
|
|
'page callback' => 'cobalttaxonomy_json',
|
|
'page arguments' => array('update', 3),
|
|
'access arguments' => array('use cobalt'),
|
|
'type' => MENU_CALLBACK,
|
|
);
|
|
return $items;
|
|
}
|
|
|
|
|
|
function cobalttaxonomy_json($op, $value) {
|
|
global $user;
|
|
|
|
$vocabularies = taxonomy_get_vocabularies();
|
|
|
|
$voc_data = array();
|
|
foreach ($vocabularies as $vocabulary) {
|
|
$voc_data[$vocabulary->vid] = $vocabulary->name;
|
|
}
|
|
|
|
$term_tree = array();
|
|
foreach ($vocabularies as $vocabulary) {
|
|
$term_tree += taxonomy_get_tree($vocabulary->vid);
|
|
}
|
|
|
|
$term_data = array();
|
|
|
|
foreach ($term_tree as $term) {
|
|
$term_data[$term->tid] = array($term->name, $term->vid);
|
|
}
|
|
|
|
$data = array('vocabularies' => $voc_data, 'terms' => $term_data, 'access' => user_access('administer taxonomy'));
|
|
|
|
print drupal_json_output($data);
|
|
exit;
|
|
}
|
|
|