Está en la página 1de 4

<?

php
/**
* Implements hook_help().
*/
function bibliotita_help($path, $arg) {
$output = '';
switch ($path) {
case "admin/help#bibliotita":
$output = '<p>' . t("Modulo per la gestione di una bibioteca di quartier
e") . '</p>';
break;
}
return $output;
}
/**
* Implements hook_form_alter().
*/
function bibliotita_form_alter(&$form, $form_state, $form_id) {
switch($form_id){
case 'bibliotita_book_node_form':
$form['field_title']['#access'] = false;
$form['field_author']['#access'] = false;
$form['field_publisher']['#access'] = false;
$form['field_published_date']['#access'] = false;
$form['field_description']['#access'] = false;
$form['field_status']['#access'] = false;
break;
}
return $form;
}
/**
* Implements hook_node_presave().
*/
function bibliotita_node_presave($node){
if($node->type == 'bibliotita_book'){
$isbn = $node->field_isbn['und'][0]['value'];
$url = 'https://www.googleapis.com/books/v1/volumes?q=isbn:' . $isbn;
$result = json_decode(file_get_contents($url));
$info = $result->items[0]->volumeInfo;
if(isset($info->title)){
$title = $info->title;
}else{
$title = 'N.A.';
}
if(isset($info->authors)){
$authors = $info->authors;
}else{
$authors = 'N.A.';
}
if(isset($info->publisher)){
$publisher = $info->publisher;
}else{
$publisher = 'N.A.';
}
if(isset($info->description)){
$description = $info->description;

}else{
$description = 'N.A.';
}
if(isset($info->description)){
$published_date = $info->publishedDate;
}else{
$published_date = 'N.A.';
}
$node->field_title['und'][0]['value'] = $title;
$k = 0;
foreach($authors as $author){
$node->field_author['und'][$k]['value'] = $author;
$k++;
}
$node->field_publisher['und'][0]['value'] = $publisher;
$node->field_published_date['und'][0]['value'] = $published_date;
$node->title = $title;
$len = strlen($description);
if($len > 255){
$description = substr($description, 0, 250) . '...';
}
$node->field_description['und'][0]['value'] = $description;
$vocabularies = taxonomy_vocabulary_get_names();
foreach($vocabularies as $vocab){
//dpm('entro foreach:' . $vocab->name);
if ($vocab->machine_name === 'book_status'){
$pos = $vocab->vid;
}
}
if ($terms = taxonomy_get_tree($pos)) {
foreach ($terms as $term) {
//dpm($term->name . ' ' . $term->tid);
if($term->name === 'Disponibile'){
$tid = $term->tid;
}
}
}
$node->field_status['und'][0]['tid'] = $tid;
}
if($node->type == 'bibliotita_book_loan'){
$node->title = 'New Loan';
}
}
function bibliotita_views_api() {
return array(
'api' => 3.0,
'path' => drupal_get_path('module', 'HOOK')
);
}
function bibliotita_views_default_views() {
// Paste code form views export.

$view = new view();


$view->name = 'book_known_owner';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'book_known_owner';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled
initially */
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['word_boundary'
] = FALSE;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = F
ALSE;
/* Sort criterion: Content: Title */
$handler->display->display_options['sorts']['title']['id'] = 'title';
$handler->display->display_options['sorts']['title']['table'] = 'node';
$handler->display->display_options['sorts']['title']['field'] = 'title';
$handler->display->display_options['sorts']['title']['order'] = 'DESC';
/* Contextual filter: Content: Author uid */
$handler->display->display_options['arguments']['uid']['id'] = 'uid';
$handler->display->display_options['arguments']['uid']['table'] = 'node';
$handler->display->display_options['arguments']['uid']['field'] = 'uid';
$handler->display->display_options['arguments']['uid']['default_action'] = 'de
fault';
$handler->display->display_options['arguments']['uid']['default_argument_type'
] = 'current_user';
$handler->display->display_options['arguments']['uid']['summary']['number_of_r
ecords'] = '0';
$handler->display->display_options['arguments']['uid']['summary']['format'] =
'default_summary';
$handler->display->display_options['arguments']['uid']['summary_options']['ite
ms_per_page'] = '25';
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
'bibliotita_book' => 'bibliotita_book',
);
/* Display: Entity Reference */
$handler = $view->new_display('entityreference', 'Entity Reference', 'entityre
ference_1');

$handler->display->display_options['defaults']['title'] = FALSE;
$handler->display->display_options['pager']['type'] = 'some';
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
$handler->display->display_options['style_plugin'] = 'entityreference_style';
$handler->display->display_options['style_options']['search_fields'] = array(
'title' => 'title',
);
$handler->display->display_options['defaults']['style_options'] = FALSE;
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
$handler->display->display_options['row_plugin'] = 'entityreference_fields';
$handler->display->display_options['defaults']['row_options'] = FALSE;

$views[$view->name] = $view;
return $views;
}

También podría gustarte