123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- <?php
- /**
- * Implements hook_init().
- */
- function materio_personalnotes_init() {
- drupal_add_js(drupal_get_path('module', 'materio_personalnotes').'/js/materio_personalnotes.js');
- }
- /**
- * Implements hook_permission().
- */
- function materio_personalnotes_permission() {
- $perms = array(
- 'create own personal notes' => array(
- 'title' => t('Create own personal notes'),
- 'description' => t('Create own personal notes'),
- ),
- );
- return $perms;
- }
- // function materio_personalnotes_menu(){
- // $items = array();
- //
- // $base = array(
- // 'type' => MENU_CALLBACK,
- // 'file' => 'materio_personalnotes.pages.inc',
- // );
- //
- // $items['materio_personalnotes/registerblock'] = $base+array(
- // 'title' => 'Materio base user ajax',
- // 'page callback' => 'materio_personalnotes_registerblock',
- // // 'page arguments' => array(),
- // 'access callback' => TRUE,
- // );
- //
- // return $items;
- // }
- /**
- * Implements hook_menu_alter().
- */
- // function materio_personalnotes_menu_alter(&$items) {
- // $items['user/%user']['access callback'] = 'user_access';
- // $items['user/%user']['access arguments'] = array('view own user profile');
- // }
- /**
- * Implements hook_entity_view().
- *
- * Note this is broken for taxonomy terms. @see http://drupal.org/node/1067120
- */
- function materio_personalnotes_entity_view($entity, $type, $view_mode, $langcode) {
- if($type == 'node'){
- if(user_access('create own personal notes') && $view_mode != 'print'){
- $entity->content['personalnotelink'] = materio_personalnotes_get_note_link($entity);
- // drupal_add_css(drupal_get_path('module', 'flag') . '/theme/flag.css');
- // drupal_add_js(drupal_get_path('module', 'flag') . '/theme/flag.js');
- }
- }
- }
- function materio_personalnotes_get_note_link($entity){
- // if note alredy exists link to it
- // else create one
- #create new list
- $link = array(
- '#path' => '/node/add/note',
- '#query' => array(
- // 'edit[field_target_content][und][0][target_id]' => $entity->title.'('.$entity->nid.')',
- 'target_id'=>$entity->nid,
- ),
- // get the content type from settings OR create the content type with module install
- // TODO: add data (node nid) for pre-filled reference field of new note
- '#attributes' => array(
- 'class' => array('personal-note-link', 'personal-note-create'),
- 'title' => t('create a note for @title.', array('@title'=>$entity->title)),
- 'nid' => $entity->nid,
- ),
- '#theme'=>'materio_personalnotes_note_link',
- );
- if(isset($link)){
- // dsm($link, 'link');
- drupal_add_js(drupal_get_path('module', 'materio_personalnotes').'/js/dist/materio_personalnotes.min.js');
- return $link;
- }
- return;
- }
- /**
- * Implements hook_form_alter().
- */
- function materio_personalnotes_form_alter(&$form, &$form_state, $form_id) {
- // dsm($form_id);
- /*
- *if (isset($form['type']) && $form['type']['#value'] . '_node_settings' == $form_id) {
- * $form['workflow']['upload_' . $form['type']['#value']] = array(
- * '#type' => 'radios',
- * '#title' => t('Attachments'),
- * '#default_value' => variable_get('upload_' . $form['type']['#value'], 1),
- * '#options' => array(t('Disabled'), t('Enabled')),
- * );
- *}
- */
- if($form_id == "note_node_form" && $target_id = $_GET['target_id']){
- dsm($_GET, 'get');
- dsm($target_id, 'target_id');
- dsm($form, 'form');
- dsm($form_state, 'form_state');
- // $form['#after_build'][] = 'materio_personalnotes_noteform_after_build';
- // $form_state['field']['field_target_content']['und']['instance']['default_value'] = $target_id;
- $form['field_target_content_nid']['und'][0]['value']['#default_value'] = $target_id;
- $form['field_target_content_nid']['und'][0]['value']['#type'] = 'hidden';
- // $form_state['field']['field_target_content']['und']['items_count'] = 1;
- }
- }
- /**
- * Implements hook_node_presave().
- */
- function materio_personalnotes_node_presave($node) {
- /*
- *if ($node->nid && $node->moderate) {
- * // Reset votes when node is updated:
- * $node->score = 0;
- * $node->users = '';
- * $node->votes = 0;
- *}
- */
- /* Your code here */
- }
- // function materio_personalnotes_noteform_after_build($form, &$form_state) {
- // dsm($_GET, 'get');
- // dsm($form, 'form');
- // dsm($form_state, 'form_state');
- //
- // $form_state['field_target_content']['und'][0]['target_id']['#default_value'] = $target_id;
- //
- // // switch ($form['form_id']['#value']) {
- // //
- // // case 'your_form':
- // //
- // // $form['field_yournoderef']['nid']['nid']['#value'] = arg(3);
- // // $form['field_yournoderef']['#access'] = false;
- // // break;
- // //
- // // }
- //
- // return $form;
- //
- // }
- /**
- * Implements hook_theme().
- */
- function materio_personalnotes_theme($existing, $type, $theme, $path) {
- return array(
- 'materio_personalnotes_note_link' => array(
- 'variables' => array('path' => NULL, 'query' => array(), 'attributes' => array()),
- ),
- );
- }
- function theme_materio_personalnotes_note_link($vars){
- return l(
- '<i class="fi-pencil"></i>',
- $vars['path'],
- array(
- 'attributes' => $vars['attributes'],
- 'html' => true,
- 'query' => $vars['query'],
- )
- );
- }
|