123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?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(
- '#link' => '/node/add/note',
- // 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_theme().
- */
- function materio_personalnotes_theme($existing, $type, $theme, $path) {
- return array(
- 'materio_personalnotes_note_link' => array(
- 'variables' => array('link' => NULL, 'attributes' => array()),
- ),
- );
- }
- function theme_materio_personalnotes_note_link($vars){
- return l(
- '<i class="fi-pencil"></i>',
- $vars['link'],
- array(
- 'attributes' => $vars['attributes'],
- 'html' => true,
- )
- );
- }
|