|
@@ -23,23 +23,32 @@ function materio_personalnotes_permission() {
|
|
return $perms;
|
|
return $perms;
|
|
}
|
|
}
|
|
|
|
|
|
-// function materio_personalnotes_menu(){
|
|
+function materio_personalnotes_menu(){
|
|
-// $items = array();
|
|
+ $items = array();
|
|
-//
|
|
+
|
|
-// $base = array(
|
|
+ $base = array(
|
|
-// 'type' => MENU_CALLBACK,
|
|
+ 'type' => MENU_CALLBACK,
|
|
-// 'file' => 'materio_personalnotes.pages.inc',
|
|
+ 'file' => 'materio_personalnotes.pages.inc',
|
|
-// );
|
|
+ );
|
|
-//
|
|
+
|
|
-// $items['materio_personalnotes/registerblock'] = $base+array(
|
|
+ $items['materio_personalnotes/form/%/%'] = $base+array(
|
|
-// 'title' => 'Materio base user ajax',
|
|
+ 'access arguments' => array('create own personal notes'),
|
|
-// 'page callback' => 'materio_personalnotes_registerblock',
|
|
+ 'access callback' => 'user_access',
|
|
-// // 'page arguments' => array(),
|
|
+ 'title' => 'Materio base create/edit note ajax',
|
|
-// 'access callback' => TRUE,
|
|
+ 'page callback' => 'materio_personalnotes_createeditnote',
|
|
-// );
|
|
+ 'page arguments' => array(2,3),
|
|
-//
|
|
+ );
|
|
-// return $items;
|
|
+
|
|
-// }
|
|
+ $items['materio_personalnotes/save/%'] = $base+array(
|
|
|
|
+ 'access arguments' => array('create own personal notes'),
|
|
|
|
+ 'access callback' => 'user_access',
|
|
|
|
+ 'title' => 'Materio base save note ajax',
|
|
|
|
+ 'page callback' => 'materio_personalnotes_savenote',
|
|
|
|
+ 'page arguments' => array(2),
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ return $items;
|
|
|
|
+}
|
|
|
|
|
|
/**
|
|
/**
|
|
* Implements hook_menu_alter().
|
|
* Implements hook_menu_alter().
|
|
@@ -55,9 +64,9 @@ function materio_personalnotes_permission() {
|
|
* Note this is broken for taxonomy terms. @see http://drupal.org/node/1067120
|
|
* Note this is broken for taxonomy terms. @see http://drupal.org/node/1067120
|
|
*/
|
|
*/
|
|
function materio_personalnotes_entity_view($entity, $type, $view_mode, $langcode) {
|
|
function materio_personalnotes_entity_view($entity, $type, $view_mode, $langcode) {
|
|
- if($type == 'node'){
|
|
+ // dsm($entity, 'entity');
|
|
|
|
+ if($type == 'node' && $entity->type == "materiau"){
|
|
if(user_access('create own personal notes') && $view_mode != 'print'){
|
|
if(user_access('create own personal notes') && $view_mode != 'print'){
|
|
-
|
|
|
|
$entity->content['personalnotelink'] = materio_personalnotes_get_note_link($entity);
|
|
$entity->content['personalnotelink'] = materio_personalnotes_get_note_link($entity);
|
|
|
|
|
|
// drupal_add_css(drupal_get_path('module', 'flag') . '/theme/flag.css');
|
|
// drupal_add_css(drupal_get_path('module', 'flag') . '/theme/flag.css');
|
|
@@ -68,28 +77,51 @@ function materio_personalnotes_entity_view($entity, $type, $view_mode, $langcode
|
|
}
|
|
}
|
|
|
|
|
|
function materio_personalnotes_get_note_link($entity){
|
|
function materio_personalnotes_get_note_link($entity){
|
|
-
|
|
+ global $user;
|
|
- // if note alredy exists link to it
|
|
+ // dsm($user);
|
|
-
|
|
+ // get note already created for this entity by current user
|
|
- // else create one
|
|
+ $query = new EntityFieldQuery();
|
|
- #create new list
|
|
+ $query
|
|
- $link = array(
|
|
+ ->entityCondition('entity_type', 'node')
|
|
- '#path' => '/node/add/note',
|
|
+ ->entityCondition('bundle', 'note')
|
|
- '#query' => array(
|
|
+ // ->propertyCondition('status', NODE_PUBLISHED);
|
|
- // 'edit[field_target_content][und][0][target_id]' => $entity->title.'('.$entity->nid.')',
|
|
+ ->propertyCondition('uid', $user->uid)
|
|
- 'target_id'=>$entity->nid,
|
|
+ ->fieldCondition('field_target_content_nid', 'value', $entity->nid)
|
|
- ),
|
|
+ ->addMetaData('account', user_load(1));
|
|
- // get the content type from settings OR create the content type with module install
|
|
+ $result = $query->execute();
|
|
- // TODO: add data (node nid) for pre-filled reference field of new note
|
|
+ // dsm($result, 'result');
|
|
- '#attributes' => array(
|
|
+
|
|
- 'class' => array('personal-note-link', 'personal-note-create'),
|
|
+ if (isset($result['node'])) {
|
|
- 'title' => t('create a note for @title.', array('@title'=>$entity->title)),
|
|
+ // if note alredy exists link to it
|
|
- 'nid' => $entity->nid,
|
|
+ $note = array_shift($result['node']);
|
|
- ),
|
|
+ // dsm($note, 'note');
|
|
- '#theme'=>'materio_personalnotes_note_link',
|
|
+ $link = array(
|
|
- );
|
|
+ '#path' => '/node/'.$note->nid.'/edit',
|
|
|
|
+ '#attributes' => array(
|
|
|
|
+ 'class' => array('personal-note-link', 'personal-note-edit'),
|
|
|
|
+ 'title' => t('Edit your @title\'s notes.', array('@title'=>$entity->title)),
|
|
|
|
+ 'src_nid' => $entity->nid,
|
|
|
|
+ 'note_nid' => $note->nid,
|
|
|
|
+ ),
|
|
|
|
+ );
|
|
|
|
+ }else{
|
|
|
|
+ // else create one
|
|
|
|
+ $link = array(
|
|
|
|
+ // get the content type from settings OR create the content type with module install
|
|
|
|
+ '#path' => '/node/add/note',
|
|
|
|
+ '#query' => array(
|
|
|
|
+ 'target_id'=>$entity->nid,
|
|
|
|
+ ),
|
|
|
|
+ '#attributes' => array(
|
|
|
|
+ 'class' => array('personal-note-link', 'personal-note-create'),
|
|
|
|
+ 'title' => t('create a note for @title.', array('@title'=>$entity->title)),
|
|
|
|
+ 'src_nid' => $entity->nid,
|
|
|
|
+ ),
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
|
|
if(isset($link)){
|
|
if(isset($link)){
|
|
|
|
+ $link['#theme'] = 'materio_personalnotes_note_link';
|
|
// dsm($link, 'link');
|
|
// dsm($link, 'link');
|
|
drupal_add_js(drupal_get_path('module', 'materio_personalnotes').'/js/dist/materio_personalnotes.min.js');
|
|
drupal_add_js(drupal_get_path('module', 'materio_personalnotes').'/js/dist/materio_personalnotes.min.js');
|
|
return $link;
|
|
return $link;
|
|
@@ -103,69 +135,17 @@ function materio_personalnotes_get_note_link($entity){
|
|
*/
|
|
*/
|
|
function materio_personalnotes_form_alter(&$form, &$form_state, $form_id) {
|
|
function materio_personalnotes_form_alter(&$form, &$form_state, $form_id) {
|
|
// dsm($form_id);
|
|
// dsm($form_id);
|
|
- /*
|
|
+ if($form_id == "note_node_form" && isset($_GET['target_id']) && $target_id = $_GET['target_id']){
|
|
- *if (isset($form['type']) && $form['type']['#value'] . '_node_settings' == $form_id) {
|
|
+ // dsm($_GET, 'get');
|
|
- * $form['workflow']['upload_' . $form['type']['#value']] = array(
|
|
+ // dsm($target_id, 'target_id');
|
|
- * '#type' => 'radios',
|
|
+ // dsm($form, 'form');
|
|
- * '#title' => t('Attachments'),
|
|
+ // dsm($form_state, 'form_state');
|
|
- * '#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']['#default_value'] = $target_id;
|
|
$form['field_target_content_nid']['und'][0]['value']['#type'] = 'hidden';
|
|
$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().
|
|
* Implements hook_theme().
|
|
*/
|
|
*/
|
|
@@ -188,3 +168,18 @@ function theme_materio_personalnotes_note_link($vars){
|
|
)
|
|
)
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * Implements hook_block_info().
|
|
|
|
+ */
|
|
|
|
+// function materio_personalnotes_block_info() {
|
|
|
|
+//
|
|
|
|
+// TODO: add my notes block
|
|
|
|
+// $blocks[''] = array(
|
|
|
|
+// 'info' => t(''),
|
|
|
|
+// 'cache' => DRUPAL_NO_CACHE
|
|
|
|
+// );
|
|
|
|
+//
|
|
|
|
+// return $blocks;
|
|
|
|
+// }
|