| @@ -9,45 +9,45 @@ discard block | ||
| 9 | 9 | * Implements hook_block() for Drupal 6 compatibility | 
| 10 | 10 | */ | 
| 11 | 11 |  function node_comment_block_block($op = 'list', $delta = 0, $edit = array()) { | 
| 12 | -  switch ($op) { | |
| 13 | - case 'view': | |
| 12 | +    switch ($op) { | |
| 13 | + case 'view': | |
| 14 | 14 | //$block = node_comment_block_block_view($delta); | 
| 15 | 15 | $block = array(); | 
| 16 | 16 |      if ($delta == 'node_comments') { | 
| 17 | -      if (arg(0) == 'node' && is_numeric($nid = arg(1)) && !arg(2)) { | |
| 17 | +        if (arg(0) == 'node' && is_numeric($nid = arg(1)) && !arg(2)) { | |
| 18 | 18 | $node = node_load($nid); | 
| 19 | 19 |          if ($node->comment !== 0) { | 
| 20 | - $block['subject'] = NULL; // This should be NULL otherwise there will be duplicate h2 elements. | |
| 21 | - $block['content'] = ''; | |
| 22 | -          if ($node->comment) { | |
| 20 | + $block['subject'] = NULL; // This should be NULL otherwise there will be duplicate h2 elements. | |
| 21 | + $block['content'] = ''; | |
| 22 | +            if ($node->comment) { | |
| 23 | 23 | $block['content'] .= comment_render($node); | 
| 24 | - } | |
| 24 | + } | |
| 25 | + } | |
| 25 | 26 | } | 
| 26 | - } | |
| 27 | 27 | } | 
| 28 | 28 | break; | 
| 29 | - case 'list': | |
| 29 | + case 'list': | |
| 30 | 30 | $blocks = node_comment_block_block_info(); | 
| 31 | 31 | return $blocks; | 
| 32 | 32 | break; | 
| 33 | - default: | |
| 33 | + default: | |
| 34 | 34 | } | 
| 35 | - return $block; | |
| 35 | + return $block; | |
| 36 | 36 | } | 
| 37 | 37 | |
| 38 | 38 | /** | 
| 39 | 39 | * Port Drupal 7 render() function to Drupal 6 | 
| 40 | 40 | */ | 
| 41 | 41 |  function render(&$element) { | 
| 42 | -  if (is_array($element)) { | |
| 42 | +    if (is_array($element)) { | |
| 43 | 43 | show($element); | 
| 44 | 44 | return drupal_render($element); | 
| 45 | - } | |
| 46 | -  else { | |
| 45 | + } | |
| 46 | +    else { | |
| 47 | 47 | // Safe-guard for inappropriate use of render() on flat variables: return | 
| 48 | 48 | // the variable as-is. | 
| 49 | 49 | return $element; | 
| 50 | - } | |
| 50 | + } | |
| 51 | 51 | } | 
| 52 | 52 | |
| 53 | 53 | |
| @@ -56,50 +56,50 @@ discard block | ||
| 56 | 56 | * Implements hook_block_info(). | 
| 57 | 57 | */ | 
| 58 | 58 |  function node_comment_block_block_info() { | 
| 59 | - $blocks['node_comments'] = array( | |
| 59 | + $blocks['node_comments'] = array( | |
| 60 | 60 |      'info' => t('Node comments'), | 
| 61 | - ); | |
| 61 | + ); | |
| 62 | 62 | |
| 63 | - return $blocks; | |
| 63 | + return $blocks; | |
| 64 | 64 | } | 
| 65 | 65 | |
| 66 | 66 | /** | 
| 67 | 67 | * Implements hook_block_view(). | 
| 68 | 68 | */ | 
| 69 | 69 |  function node_comment_block_block_view($delta = '') { | 
| 70 | - $block = array(); | |
| 70 | + $block = array(); | |
| 71 | 71 | |
| 72 | -  if ($delta == 'node_comments') { | |
| 72 | +    if ($delta == 'node_comments') { | |
| 73 | 73 |      if (arg(0) == 'node' && is_numeric($nid = arg(1)) && !arg(2)) { | 
| 74 | - $node = node_load($nid); | |
| 74 | + $node = node_load($nid); | |
| 75 | 75 | |
| 76 | -      if ($node->comment !== 0) { | |
| 76 | +        if ($node->comment !== 0) { | |
| 77 | 77 | $block['subject'] = NULL; // This should be NULL otherwise there will be duplicate h2 elements. | 
| 78 | 78 | $block['content'] = ''; | 
| 79 | 79 | |
| 80 | 80 | $node = node_view($node); | 
| 81 | 81 | |
| 82 | 82 |          if ($node['comments']) { | 
| 83 | - $block['content'] .= render($node['comments']); | |
| 83 | + $block['content'] .= render($node['comments']); | |
| 84 | + } | |
| 84 | 85 | } | 
| 85 | - } | |
| 86 | 86 | } | 
| 87 | - } | |
| 87 | + } | |
| 88 | 88 | |
| 89 | - return $block; | |
| 89 | + return $block; | |
| 90 | 90 | } | 
| 91 | 91 | |
| 92 | 92 | /** | 
| 93 | 93 | * Implements hook_preprocess_HOOK() for nodes. | 
| 94 | 94 | */ | 
| 95 | 95 |  function node_comment_block_preprocess_node(&$variables) { | 
| 96 | - $node = $variables['node']; | |
| 97 | - // Only hide standard comments for news content | |
| 98 | -  if ($variables['type'] == 'news') { | |
| 96 | + $node = $variables['node']; | |
| 97 | + // Only hide standard comments for news content | |
| 98 | +    if ($variables['type'] == 'news') { | |
| 99 | 99 | $variables['node']->comment = 0; | 
| 100 | - } | |
| 100 | + } | |
| 101 | 101 | |
| 102 | - /* Drupal 7... | |
| 102 | + /* Drupal 7... | |
| 103 | 103 |    if ($node->comment !== 0 && $variables['view_mode'] == 'full') { | 
| 104 | 104 |      if (isset($variables['content']['comments'])) { | 
| 105 | 105 | unset($variables['content']['comments']); | 
| @@ -113,10 +113,10 @@ discard block | ||
| 113 | 113 | * Implements hook_form_FORM_ID_alter() for block_admin_configure. | 
| 114 | 114 | */ | 
| 115 | 115 |  function node_comment_block_form_block_admin_configure_alter(&$form, &$form_state) { | 
| 116 | -  if (isset($form['delta'])) { | |
| 116 | +    if (isset($form['delta'])) { | |
| 117 | 117 |      if ($form['delta']['#value'] == 'node_comments') { | 
| 118 | - $form['settings']['title']['#disabled'] = TRUE; | |
| 119 | -      $form['settings']['title']['#description'] = t('The title for this block cannot be overridden.'); | |
| 118 | + $form['settings']['title']['#disabled'] = TRUE; | |
| 119 | +        $form['settings']['title']['#description'] = t('The title for this block cannot be overridden.'); | |
| 120 | + } | |
| 120 | 121 | } | 
| 121 | - } | |
| 122 | 122 | } | 
| @@ -280,12 +280,12 @@ discard block | ||
| 280 | 280 | } | 
| 281 | 281 | |
| 282 | 282 |    switch ($op) { | 
| 283 | - case 'delete': | |
| 284 | - // Only call delete function on certain node types | |
| 285 | -      if (in_array( $node->type, $node_types)) { | |
| 286 | - boinc_solr_comments_delete($node); | |
| 287 | - } | |
| 288 | - break; | |
| 283 | + case 'delete': | |
| 284 | + // Only call delete function on certain node types | |
| 285 | +    if (in_array( $node->type, $node_types)) { | |
| 286 | + boinc_solr_comments_delete($node); | |
| 287 | + } | |
| 288 | + break; | |
| 289 | 289 | } //switch | 
| 290 | 290 | } | 
| 291 | 291 | |
| @@ -335,13 +335,13 @@ discard block | ||
| 335 | 335 | */ | 
| 336 | 336 |  function boinc_solr_comments_comment(&$a1, $op) { | 
| 337 | 337 |    switch ($op) { | 
| 338 | - case 'view': | |
| 339 | - case 'update': | |
| 340 | - break; | |
| 341 | - case 'delete': | |
| 342 | - // $a1 should be a comment object | |
| 343 | - boinc_solr_comments_deletecomment($a1); | |
| 344 | - break; | |
| 338 | + case 'view': | |
| 339 | + case 'update': | |
| 340 | + break; | |
| 341 | + case 'delete': | |
| 342 | + // $a1 should be a comment object | |
| 343 | + boinc_solr_comments_deletecomment($a1); | |
| 344 | + break; | |
| 345 | 345 | }// switch | 
| 346 | 346 | } | 
| 347 | 347 | |
| @@ -14,19 +14,19 @@ discard block | ||
| 14 | 14 | * Implementation of hook_menu() | 
| 15 | 15 | */ | 
| 16 | 16 |  function boinc_solr_comments_menu() { | 
| 17 | - $items = array(); | |
| 18 | - $base_path = 'admin/settings/apachesolr/indexcomments'; | |
| 19 | - $items[$base_path] = array( | |
| 20 | - 'title' => 'Index Comments', | |
| 21 | - 'description' => 'Administer Indexing of Comments', | |
| 22 | - 'page callback' => 'drupal_get_form', | |
| 23 | -      'page arguments' => array('boinc_solr_comments_form'), | |
| 24 | -      'access arguments' => array('administer search'), | |
| 25 | - 'file' => 'boinc_solr_comments.admin.inc', | |
| 26 | - 'weight' => '10', | |
| 27 | - ); | |
| 28 | - | |
| 29 | - return $items; | |
| 17 | + $items = array(); | |
| 18 | + $base_path = 'admin/settings/apachesolr/indexcomments'; | |
| 19 | + $items[$base_path] = array( | |
| 20 | + 'title' => 'Index Comments', | |
| 21 | + 'description' => 'Administer Indexing of Comments', | |
| 22 | + 'page callback' => 'drupal_get_form', | |
| 23 | +        'page arguments' => array('boinc_solr_comments_form'), | |
| 24 | +        'access arguments' => array('administer search'), | |
| 25 | + 'file' => 'boinc_solr_comments.admin.inc', | |
| 26 | + 'weight' => '10', | |
| 27 | + ); | |
| 28 | + | |
| 29 | + return $items; | |
| 30 | 30 | } | 
| 31 | 31 | |
| 32 | 32 | |
| @@ -58,11 +58,11 @@ discard block | ||
| 58 | 58 | * Environment ID for apache solr. | 
| 59 | 59 | */ | 
| 60 | 60 |  function boinc_solr_comments_apachesolr_index_documents_alter(array &$documents, $entity, $entity_type, $env_id) { | 
| 61 | - $comdocs = array(); | |
| 61 | + $comdocs = array(); | |
| 62 | 62 | |
| 63 | - // Array of node types that will have comments indexed. | |
| 64 | -  $node_types = variable_get('boinc_solr_comments_nodetypes', ''); | |
| 65 | -  if (empty($node_types)) { | |
| 63 | + // Array of node types that will have comments indexed. | |
| 64 | +    $node_types = variable_get('boinc_solr_comments_nodetypes', ''); | |
| 65 | +    if (empty($node_types)) { | |
| 66 | 66 | // If the variable has not been set, then by default index | 
| 67 | 67 | // comments for all known node types. | 
| 68 | 68 | $node_types = array( | 
| @@ -72,28 +72,28 @@ discard block | ||
| 72 | 72 | 'story' => 'story', | 
| 73 | 73 | 'team_forum' => 'team_forum', | 
| 74 | 74 | ); | 
| 75 | - } | |
| 75 | + } | |
| 76 | 76 | |
| 77 | - // Loop over all documents and alter: | |
| 78 | -  foreach ($documents as $document) { | |
| 77 | + // Loop over all documents and alter: | |
| 78 | +    foreach ($documents as $document) { | |
| 79 | 79 | //dd($document, "index documents alter - document"); | 
| 80 | 80 | |
| 81 | 81 | $to_process = ( array_key_exists($document->bundle, $node_types) AND $node_types[$document->bundle] ); | 
| 82 | 82 |      if ( $document->entity_type=='node' AND $to_process) { | 
| 83 | 83 | |
| 84 | - // Remove ts_comments if present. | |
| 85 | -      if (isset($document->ts_comments)) { | |
| 84 | + // Remove ts_comments if present. | |
| 85 | +        if (isset($document->ts_comments)) { | |
| 86 | 86 | unset($document->ts_comments); | 
| 87 | - } | |
| 88 | - // Node information. | |
| 89 | - $nid = $document->entity_id; | |
| 90 | - $node = node_load($nid); | |
| 91 | - | |
| 92 | - // Query database for comments of node. Only return comments | |
| 93 | - // with status 0 (0 is published for comments). | |
| 94 | -      $sql = 'SELECT cid from {comments} WHERE nid = %d AND status = 0 ORDER by timestamp DESC'; | |
| 95 | - $resource = db_query($sql, $nid); | |
| 96 | -      while ($row = db_fetch_array($resource)) { | |
| 87 | + } | |
| 88 | + // Node information. | |
| 89 | + $nid = $document->entity_id; | |
| 90 | + $node = node_load($nid); | |
| 91 | + | |
| 92 | + // Query database for comments of node. Only return comments | |
| 93 | + // with status 0 (0 is published for comments). | |
| 94 | +        $sql = 'SELECT cid from {comments} WHERE nid = %d AND status = 0 ORDER by timestamp DESC'; | |
| 95 | + $resource = db_query($sql, $nid); | |
| 96 | +        while ($row = db_fetch_array($resource)) { | |
| 97 | 97 | // Load the comment from cid. | 
| 98 | 98 | $comment = _comment_load($row['cid']); | 
| 99 | 99 | |
| @@ -116,10 +116,10 @@ discard block | ||
| 116 | 116 | // Comment object has no language | 
| 117 | 117 | $comment_document->ss_language = 'und'; | 
| 118 | 118 |          if (function_exists('drupal_get_path_alias')) { | 
| 119 | - $output = drupal_get_path_alias($comment_document->path, NULL); | |
| 120 | -          if ($output && $output != $document->path) { | |
| 119 | + $output = drupal_get_path_alias($comment_document->path, NULL); | |
| 120 | +            if ($output && $output != $document->path) { | |
| 121 | 121 | $comment_document->path_alias = $output; | 
| 122 | - } | |
| 122 | + } | |
| 123 | 123 | } | 
| 124 | 124 | |
| 125 | 125 | // Code derived from apachesolr_index_node_solr_document | 
| @@ -129,13 +129,13 @@ discard block | ||
| 129 | 129 | |
| 130 | 130 | // Author information | 
| 131 | 131 |          if ($comment->uid == 0 || strlen($comment->name) == 0) { | 
| 132 | - // @see user_validate_name(). !'0' === TRUE. | |
| 133 | - $comment_document->ss_name = '0'; | |
| 132 | + // @see user_validate_name(). !'0' === TRUE. | |
| 133 | + $comment_document->ss_name = '0'; | |
| 134 | 134 | } | 
| 135 | 135 |          else { | 
| 136 | - $comment_document->ss_name = $comment->name; | |
| 137 | - // We want the name to be searchable for keywords. | |
| 138 | - $comment_document->tos_name = $comment->name; | |
| 136 | + $comment_document->ss_name = $comment->name; | |
| 137 | + // We want the name to be searchable for keywords. | |
| 138 | + $comment_document->tos_name = $comment->name; | |
| 139 | 139 | } | 
| 140 | 140 | |
| 141 | 141 | // Index formatted username so it can be searched and sorted | 
| @@ -157,59 +157,59 @@ discard block | ||
| 157 | 157 | // Unset the following fields (if set) that don't make sense | 
| 158 | 158 | // for a comment. | 
| 159 | 159 |          if (isset($comment_document->bs_sticky)) { | 
| 160 | - unset($comment_document->bs_sticky); | |
| 160 | + unset($comment_document->bs_sticky); | |
| 161 | 161 | } | 
| 162 | 162 |          if (isset($comment_document->bs_promote)) { | 
| 163 | - unset($comment_document->bs_promote); | |
| 163 | + unset($comment_document->bs_promote); | |
| 164 | 164 | } | 
| 165 | 165 |          if (isset($comment_document->is_tnid)) { | 
| 166 | - unset($comment_document->is_tnid); | |
| 166 | + unset($comment_document->is_tnid); | |
| 167 | 167 | } | 
| 168 | 168 |          if (isset($comment_document->bs_translate)) { | 
| 169 | - unset($comment_document->bs_translate); | |
| 169 | + unset($comment_document->bs_translate); | |
| 170 | 170 | } | 
| 171 | 171 |          if (isset($comment_document->ts_last_comment_timestamp)) { | 
| 172 | - unset($comment_document->ts_last_comment_timestamp); | |
| 172 | + unset($comment_document->ts_last_comment_timestamp); | |
| 173 | 173 | } | 
| 174 | 174 |          if (isset($comment_document->ds_last_comment_or_change)) { | 
| 175 | - unset($comment_document->ds_last_comment_or_change); | |
| 175 | + unset($comment_document->ds_last_comment_or_change); | |
| 176 | 176 | } | 
| 177 | 177 |          if (isset($comment_document->is_comment_count)) { | 
| 178 | - unset($comment_document->is_comment_count); | |
| 178 | + unset($comment_document->is_comment_count); | |
| 179 | 179 | } | 
| 180 | 180 | |
| 181 | 181 | // Loop over fields in document and copy relevant values into | 
| 182 | 182 | // comment_document. | 
| 183 | 183 |          foreach ($document as $fieldName => $fieldValue) { | 
| 184 | 184 | |
| 185 | - // Copy over fields [im_taxonomy_vid_1], [tid], [im_vid_1], | |
| 186 | - // [im_vid_Forums], [tm_vid_1_names] | |
| 187 | -          if ( ( preg_match('/tid/', $fieldName) OR preg_match('/vid/', $fieldName) ) AND is_array($fieldValue) ) { | |
| 185 | + // Copy over fields [im_taxonomy_vid_1], [tid], [im_vid_1], | |
| 186 | + // [im_vid_Forums], [tm_vid_1_names] | |
| 187 | +            if ( ( preg_match('/tid/', $fieldName) OR preg_match('/vid/', $fieldName) ) AND is_array($fieldValue) ) { | |
| 188 | 188 |              foreach ($fieldValue as $subkey => $subvalue) { | 
| 189 | - $comment_document->addField($fieldName, $subvalue); | |
| 189 | + $comment_document->addField($fieldName, $subvalue); | |
| 190 | 190 | } | 
| 191 | - }// if preg_match | |
| 191 | + }// if preg_match | |
| 192 | 192 | |
| 193 | - // Set the access keys so this module will work with | |
| 194 | - // apachesolr_access. | |
| 195 | -          if (module_exists('apachesolr_access')) { | |
| 193 | + // Set the access keys so this module will work with | |
| 194 | + // apachesolr_access. | |
| 195 | +            if (module_exists('apachesolr_access')) { | |
| 196 | 196 |              if (preg_match('/^access/', $fieldName) AND is_array($fieldValue)) { | 
| 197 | -              foreach ($fieldValue as $subkey => $subvalue) { | |
| 197 | +                foreach ($fieldValue as $subkey => $subvalue) { | |
| 198 | 198 | $comment_document->addField($fieldName, $subvalue); | 
| 199 | - } | |
| 199 | + } | |
| 200 | 200 | }// if preg_match | 
| 201 | - }// if module_exist | |
| 201 | + }// if module_exist | |
| 202 | 202 | |
| 203 | 203 | }// foreach document | 
| 204 | 204 | |
| 205 | 205 | $comdocs[] = $comment_document; | 
| 206 | - }// while | |
| 206 | + }// while | |
| 207 | 207 | }// if entity_type=node | 
| 208 | - }// documents | |
| 208 | + }// documents | |
| 209 | 209 | |
| 210 | - // Merge the comment documents with the input documents array. These | |
| 211 | - // documents will now be added to the Solr search index. | |
| 212 | - $documents = array_merge($documents, $comdocs); | |
| 210 | + // Merge the comment documents with the input documents array. These | |
| 211 | + // documents will now be added to the Solr search index. | |
| 212 | + $documents = array_merge($documents, $comdocs); | |
| 213 | 213 | } | 
| 214 | 214 | |
| 215 | 215 | /** | 
| @@ -225,19 +225,19 @@ discard block | ||
| 225 | 225 | * The Solr query used for the search. | 
| 226 | 226 | */ | 
| 227 | 227 |  function boinc_solr_comments_apachesolr_process_results(&$results, DrupalSolrQueryInterface $query) { | 
| 228 | - //dpm($query->getSolrParams(), "process_results query getSolrParams"); | |
| 229 | -  foreach($results as $id => $result) { | |
| 228 | + //dpm($query->getSolrParams(), "process_results query getSolrParams"); | |
| 229 | +    foreach($results as $id => $result) { | |
| 230 | 230 |      if ($result['entity_type']=='comment') { | 
| 231 | 231 | $results[$id]['type'] = 'Comment'; | 
| 232 | 232 | $results[$id]['date'] = $result['fields']['changed']; | 
| 233 | 233 |          if (isset($result['fields']['is_uid'])) { | 
| 234 | - $uid = $result['fields']['is_uid']; | |
| 235 | - $results[$id]['uid'] = $uid; | |
| 236 | -          $results[$id]['user'] = theme('username', user_load($uid)); | |
| 234 | + $uid = $result['fields']['is_uid']; | |
| 235 | + $results[$id]['uid'] = $uid; | |
| 236 | +            $results[$id]['user'] = theme('username', user_load($uid)); | |
| 237 | 237 | } | 
| 238 | 238 | } //if result entity_type == comment | 
| 239 | - }// foreach $result | |
| 240 | - //dpm($results, "process_results array_results"); | |
| 239 | + }// foreach $result | |
| 240 | + //dpm($results, "process_results array_results"); | |
| 241 | 241 | } | 
| 242 | 242 | |
| 243 | 243 | /** | 
| @@ -251,8 +251,8 @@ discard block | ||
| 251 | 251 | * The Solr query used for the search. | 
| 252 | 252 | */ | 
| 253 | 253 |  function boinc_solr_comments_apachesolr_query_alter($query) { | 
| 254 | - // Add custom field to query results | |
| 255 | -  $query->addParam('fl','tos_content_extra'); | |
| 254 | + // Add custom field to query results | |
| 255 | +    $query->addParam('fl','tos_content_extra'); | |
| 256 | 256 | } | 
| 257 | 257 | |
| 258 | 258 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * | 
| @@ -265,9 +265,9 @@ discard block | ||
| 265 | 265 | * | 
| 266 | 266 | */ | 
| 267 | 267 |  function boinc_solr_comments_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { | 
| 268 | - // Array of node types that will have comments indexed. | |
| 269 | -  $node_types = variable_get('boinc_solr_comments_nodetypes', ''); | |
| 270 | -  if (empty($node_types)) { | |
| 268 | + // Array of node types that will have comments indexed. | |
| 269 | +    $node_types = variable_get('boinc_solr_comments_nodetypes', ''); | |
| 270 | +    if (empty($node_types)) { | |
| 271 | 271 | // If the variable has not been set, then by default index | 
| 272 | 272 | // comments for all known node types. | 
| 273 | 273 | $node_types = array( | 
| @@ -277,16 +277,16 @@ discard block | ||
| 277 | 277 | 'story' => 'story', | 
| 278 | 278 | 'team_forum' => 'team_forum', | 
| 279 | 279 | ); | 
| 280 | - } | |
| 280 | + } | |
| 281 | 281 | |
| 282 | -  switch ($op) { | |
| 282 | +    switch ($op) { | |
| 283 | 283 | case 'delete': | 
| 284 | 284 | // Only call delete function on certain node types | 
| 285 | 285 |        if (in_array( $node->type, $node_types)) { | 
| 286 | 286 | boinc_solr_comments_delete($node); | 
| 287 | - } | |
| 288 | - break; | |
| 289 | - } //switch | |
| 287 | + } | |
| 288 | + break; | |
| 289 | + } //switch | |
| 290 | 290 | } | 
| 291 | 291 | |
| 292 | 292 | |
| @@ -303,30 +303,30 @@ discard block | ||
| 303 | 303 | * Returns TRUE if the comment was deleted, otherwise return FALSE. | 
| 304 | 304 | */ | 
| 305 | 305 |  function boinc_solr_comments_delete($node) { | 
| 306 | - // Load the Solr environment. | |
| 307 | - $env_id = apachesolr_default_environment(); | |
| 308 | - // Check to see if Solr is read-only. | |
| 309 | -  if (apachesolr_environment_variable_get($env_id, 'apachesolr_read_only', APACHESOLR_READ_WRITE) == APACHESOLR_READ_ONLY) { | |
| 306 | + // Load the Solr environment. | |
| 307 | + $env_id = apachesolr_default_environment(); | |
| 308 | + // Check to see if Solr is read-only. | |
| 309 | +    if (apachesolr_environment_variable_get($env_id, 'apachesolr_read_only', APACHESOLR_READ_WRITE) == APACHESOLR_READ_ONLY) { | |
| 310 | 310 | return FALSE; | 
| 311 | - } | |
| 311 | + } | |
| 312 | 312 | |
| 313 | - // Code derived from apachesolr_index_delete_entity_from_index | |
| 314 | -  try { | |
| 313 | + // Code derived from apachesolr_index_delete_entity_from_index | |
| 314 | +    try { | |
| 315 | 315 | $solr = apachesolr_get_solr($env_id); | 
| 316 | 316 | // Custom query to find all comments with parent nid of the node bing deleted. | 
| 317 | 317 | $query = "entity_type:comment AND tos_content_extra:" . $node->nid; | 
| 318 | 318 | $solr->deleteByQuery($query); | 
| 319 | 319 | // Log the query used for deletion. | 
| 320 | 320 |      watchdog('Apache Solr', 'Deleted documents from index with query @query', array('@query' => $query), WATCHDOG_INFO); | 
| 321 | - } | |
| 322 | -  catch (Exception $e) { | |
| 323 | -      watchdog('Apache Solr', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR); | |
| 324 | - return FALSE; | |
| 325 | - }// try | |
| 326 | - | |
| 327 | - // all deletions sucessful | |
| 328 | - apachesolr_set_last_index_updated($env_id, APACHESOLR_REQUEST_TIME); | |
| 329 | - return TRUE; | |
| 321 | + } | |
| 322 | +    catch (Exception $e) { | |
| 323 | +        watchdog('Apache Solr', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR); | |
| 324 | + return FALSE; | |
| 325 | + }// try | |
| 326 | + | |
| 327 | + // all deletions sucessful | |
| 328 | + apachesolr_set_last_index_updated($env_id, APACHESOLR_REQUEST_TIME); | |
| 329 | + return TRUE; | |
| 330 | 330 | } | 
| 331 | 331 | |
| 332 | 332 | /** | 
| @@ -334,15 +334,15 @@ discard block | ||
| 334 | 334 | * | 
| 335 | 335 | */ | 
| 336 | 336 |  function boinc_solr_comments_comment(&$a1, $op) { | 
| 337 | -  switch ($op) { | |
| 337 | +    switch ($op) { | |
| 338 | 338 | case 'view': | 
| 339 | 339 | case 'update': | 
| 340 | 340 | break; | 
| 341 | 341 | case 'delete': | 
| 342 | 342 | // $a1 should be a comment object | 
| 343 | 343 | boinc_solr_comments_deletecomment($a1); | 
| 344 | - break; | |
| 345 | - }// switch | |
| 344 | + break; | |
| 345 | + }// switch | |
| 346 | 346 | } | 
| 347 | 347 | |
| 348 | 348 | /** | 
| @@ -358,16 +358,16 @@ discard block | ||
| 358 | 358 | * Returns TRUE if the comment was deleted, otherwise return FALSE. | 
| 359 | 359 | */ | 
| 360 | 360 |  function boinc_solr_comments_deletecomment($comment) { | 
| 361 | - // Load the Solr environment. | |
| 362 | - $env_id = apachesolr_default_environment(); | |
| 363 | - // Check to see if Solr is read-only. | |
| 364 | -  if (apachesolr_environment_variable_get($env_id, 'apachesolr_read_only', APACHESOLR_READ_WRITE) == APACHESOLR_READ_ONLY) { | |
| 361 | + // Load the Solr environment. | |
| 362 | + $env_id = apachesolr_default_environment(); | |
| 363 | + // Check to see if Solr is read-only. | |
| 364 | +    if (apachesolr_environment_variable_get($env_id, 'apachesolr_read_only', APACHESOLR_READ_WRITE) == APACHESOLR_READ_ONLY) { | |
| 365 | 365 | return FALSE; | 
| 366 | - } | |
| 367 | - //dd($comment->cid, "delete - nid begin"); | |
| 366 | + } | |
| 367 | + //dd($comment->cid, "delete - nid begin"); | |
| 368 | 368 | |
| 369 | - // Code derived from apachesolr_index_delete_entity_from_index. | |
| 370 | -  try { | |
| 369 | + // Code derived from apachesolr_index_delete_entity_from_index. | |
| 370 | +    try { | |
| 371 | 371 | $solr = apachesolr_get_solr($env_id); | 
| 372 | 372 | $entity_id = $comment->cid; | 
| 373 | 373 | $entity_type = 'comment'; | 
| @@ -377,14 +377,14 @@ discard block | ||
| 377 | 377 | // Log the query used for deletion. | 
| 378 | 378 |      watchdog('Apache Solr', 'Deleted documents from index with query @query', array('@query' => $query), WATCHDOG_INFO); | 
| 379 | 379 | } | 
| 380 | -  catch (Exception $e) { | |
| 380 | +    catch (Exception $e) { | |
| 381 | 381 |      watchdog('Apache Solr', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR); | 
| 382 | 382 | return FALSE; | 
| 383 | - }// try | |
| 383 | + }// try | |
| 384 | 384 | |
| 385 | - // deletion sucessful | |
| 386 | - apachesolr_set_last_index_updated($env_id, APACHESOLR_REQUEST_TIME); | |
| 387 | - return TRUE; | |
| 385 | + // deletion sucessful | |
| 386 | + apachesolr_set_last_index_updated($env_id, APACHESOLR_REQUEST_TIME); | |
| 387 | + return TRUE; | |
| 388 | 388 | } | 
| 389 | 389 | |
| 390 | 390 | |
| @@ -399,7 +399,7 @@ discard block | ||
| 399 | 399 | */ | 
| 400 | 400 | |
| 401 | 401 |  function boinc_solr_comments_enable() { | 
| 402 | -  drupal_set_message( bts('Warning: Your content <a href="@url">must be re-indexed</a> before Apache Solr will search comments.', array('@url' => url('admin/settings/apachesolr/index')), NULL, 'boinc:admin-solr-index-comments-message'), 'warning'); | |
| 402 | +    drupal_set_message( bts('Warning: Your content <a href="@url">must be re-indexed</a> before Apache Solr will search comments.', array('@url' => url('admin/settings/apachesolr/index')), NULL, 'boinc:admin-solr-index-comments-message'), 'warning'); | |
| 403 | 403 | } | 
| 404 | 404 | |
| 405 | 405 | /** | 
| @@ -410,12 +410,12 @@ discard block | ||
| 410 | 410 | * The comment to be published (unhidden). | 
| 411 | 411 | */ | 
| 412 | 412 |  function boinc_solr_comments_publish($comment) { | 
| 413 | -  if ( ($comment->cid) AND ($comment->nid) ) { | |
| 413 | +    if ( ($comment->cid) AND ($comment->nid) ) { | |
| 414 | 414 | $node = node_load($comment->nid); | 
| 415 | 415 | // Tell Solr that the node has been updated, so the comment can be | 
| 416 | 416 | // indexed. | 
| 417 | 417 | apachesolr_entity_update($node, 'node'); | 
| 418 | - } | |
| 418 | + } | |
| 419 | 419 | } | 
| 420 | 420 | |
| 421 | 421 | /** | 
| @@ -426,9 +426,9 @@ discard block | ||
| 426 | 426 | * The comment to be unpublished (hidden). | 
| 427 | 427 | */ | 
| 428 | 428 |  function boinc_solr_comments_unpublish($comment) { | 
| 429 | -  if ( ($comment->cid) ) { | |
| 429 | +    if ( ($comment->cid) ) { | |
| 430 | 430 | // Call the deletecomment function for hook comment. | 
| 431 | 431 | boinc_solr_comments_deletecomment($comment); | 
| 432 | - } | |
| 432 | + } | |
| 433 | 433 | } | 
| 434 | 434 | |
| @@ -19,10 +19,10 @@ | ||
| 19 | 19 |    foreach (content_types() as $key => $info) { | 
| 20 | 20 | // Exclude node types profile, team, and panel | 
| 21 | 21 |      switch ($key) { | 
| 22 | - case 'profile': | |
| 23 | - case 'team': | |
| 24 | - case 'panel': | |
| 25 | - continue 2; | |
| 22 | + case 'profile': | |
| 23 | + case 'team': | |
| 24 | + case 'panel': | |
| 25 | + continue 2; | |
| 26 | 26 | }// switch key | 
| 27 | 27 | $options[$key] = $info['name']; | 
| 28 | 28 | } | 
| @@ -7,48 +7,48 @@ | ||
| 7 | 7 | */ | 
| 8 | 8 | |
| 9 | 9 |  function boinc_solr_comments_form(&$form_state) { | 
| 10 | - $form = array(); | |
| 10 | + $form = array(); | |
| 11 | 11 | |
| 12 | - $form['config'] = array( | |
| 12 | + $form['config'] = array( | |
| 13 | 13 | '#type' => 'fieldset', | 
| 14 | 14 |      '#title' => t('Configuration'), | 
| 15 | 15 | '#collapsible' => TRUE, | 
| 16 | - ); | |
| 16 | + ); | |
| 17 | 17 | |
| 18 | - $options = array(); | |
| 19 | -  foreach (content_types() as $key => $info) { | |
| 18 | + $options = array(); | |
| 19 | +    foreach (content_types() as $key => $info) { | |
| 20 | 20 | // Exclude node types profile, team, and panel | 
| 21 | 21 |      switch ($key) { | 
| 22 | - case 'profile': | |
| 22 | + case 'profile': | |
| 23 | 23 | case 'team': | 
| 24 | 24 | case 'panel': | 
| 25 | 25 | continue 2; | 
| 26 | 26 | }// switch key | 
| 27 | 27 | $options[$key] = $info['name']; | 
| 28 | - } | |
| 29 | - asort($options); | |
| 28 | + } | |
| 29 | + asort($options); | |
| 30 | 30 | |
| 31 | - // Form defaults | |
| 32 | - $default = array( | |
| 31 | + // Form defaults | |
| 32 | + $default = array( | |
| 33 | 33 |      'boinc_solr_comments_nodetypes' => variable_get('boinc_solr_comments_nodetypes', ''), | 
| 34 | - ); | |
| 35 | -  if (empty($default['boinc_solr_comments_nodetypes'])) { | |
| 34 | + ); | |
| 35 | +    if (empty($default['boinc_solr_comments_nodetypes'])) { | |
| 36 | 36 |      $default['boinc_solr_comments_nodetypes'] = array('forum','team_forum','news','page','story'); | 
| 37 | - } | |
| 37 | + } | |
| 38 | 38 | |
| 39 | - // Define the form | |
| 40 | - $form['config']['nodes'] = array( | |
| 39 | + // Define the form | |
| 40 | + $form['config']['nodes'] = array( | |
| 41 | 41 | '#type' => 'markup', | 
| 42 | 42 |      '#value' => bts('Select the content types where the comments are indexed by Apace Solr. Your content must be re-indexed after changing this configuration.', array(), NULL, 'boinc:admin-solr-search-comments-option'), | 
| 43 | - ); | |
| 43 | + ); | |
| 44 | 44 | |
| 45 | - $form['config']['boinc_solr_comments_nodetypes'] = array( | |
| 45 | + $form['config']['boinc_solr_comments_nodetypes'] = array( | |
| 46 | 46 | '#type' => 'checkboxes', | 
| 47 | 47 | '#title' => 'node', | 
| 48 | 48 | '#options' => $options, | 
| 49 | 49 | '#default_value' => $default['boinc_solr_comments_nodetypes'], | 
| 50 | - ); | |
| 50 | + ); | |
| 51 | 51 | |
| 52 | - return system_settings_form($form); | |
| 52 | + return system_settings_form($form); | |
| 53 | 53 | } | 
| 54 | 54 | |
| @@ -7,15 +7,15 @@ | ||
| 7 | 7 | */ | 
| 8 | 8 | |
| 9 | 9 |  class views_handler_argument_boincteam_id extends views_handler_argument_numeric { | 
| 10 | -  function construct() { | |
| 10 | +    function construct() { | |
| 11 | 11 | parent::construct(); | 
| 12 | - } | |
| 12 | + } | |
| 13 | 13 | |
| 14 | -  function set_argument($arg) { | |
| 14 | +    function set_argument($arg) { | |
| 15 | 15 | // When setting the ID argument, convert to BOINC ID | 
| 16 | 16 | $id = is_numeric($arg) ? $arg : 0; | 
| 17 | 17 |      $boinc_id = db_result(db_query("SELECT team_id FROM {boincteam} WHERE nid = %d", $id)); | 
| 18 | 18 | $this->argument = $boinc_id; | 
| 19 | 19 | return $this->validate_arg($boinc_id); | 
| 20 | - } | |
| 20 | + } | |
| 21 | 21 | } | 
| @@ -7,15 +7,15 @@ | ||
| 7 | 7 | */ | 
| 8 | 8 | |
| 9 | 9 |  class views_handler_argument_boincuser_id extends views_handler_argument_numeric { | 
| 10 | -  function construct() { | |
| 10 | +    function construct() { | |
| 11 | 11 | parent::construct(); | 
| 12 | - } | |
| 12 | + } | |
| 13 | 13 | |
| 14 | -  function set_argument($arg) { | |
| 14 | +    function set_argument($arg) { | |
| 15 | 15 | // When setting the ID argument, convert to BOINC ID | 
| 16 | 16 | $id = is_numeric($arg) ? $arg : 0; | 
| 17 | 17 |      $boinc_id = db_result(db_query("SELECT boinc_id FROM {boincuser} WHERE uid = %d", $id)); | 
| 18 | 18 | $this->argument = $boinc_id; | 
| 19 | 19 | return $this->validate_arg($boinc_id); | 
| 20 | - } | |
| 20 | + } | |
| 21 | 21 | } | 
| @@ -6,15 +6,15 @@ | ||
| 6 | 6 | */ | 
| 7 | 7 | |
| 8 | 8 |  class views_handler_field_boincwork_host_app_et_avg extends views_handler_field { | 
| 9 | -  function construct() { | |
| 9 | +    function construct() { | |
| 10 | 10 | parent::construct(); | 
| 11 | - } | |
| 11 | + } | |
| 12 | 12 | |
| 13 | -  function render($values) { | |
| 13 | +    function render($values) { | |
| 14 | 14 | $gflops = 0; | 
| 15 | 15 |      if ($values->host_app_version_et_avg) { | 
| 16 | - $gflops = 1e-9 / $values->host_app_version_et_avg; | |
| 16 | + $gflops = 1e-9 / $values->host_app_version_et_avg; | |
| 17 | 17 | } | 
| 18 | 18 | return round($gflops, 2) . ' GFLOPS'; | 
| 19 | - } | |
| 19 | + } | |
| 20 | 20 | } | 
| @@ -6,12 +6,12 @@ | ||
| 6 | 6 | */ | 
| 7 | 7 | |
| 8 | 8 |  class views_handler_field_boincwork_host_app_turnaround_avg extends views_handler_field { | 
| 9 | -  function construct() { | |
| 9 | +    function construct() { | |
| 10 | 10 | parent::construct(); | 
| 11 | - } | |
| 11 | + } | |
| 12 | 12 | |
| 13 | -  function render($values) { | |
| 13 | +    function render($values) { | |
| 14 | 14 | $time_in_days = $values->host_app_version_turnaround_avg / (24*60*60); | 
| 15 | 15 |      return round($time_in_days, 2) . ' ' . t('days'); | 
| 16 | - } | |
| 16 | + } | |
| 17 | 17 | } | 
| @@ -6,11 +6,11 @@ | ||
| 6 | 6 | */ | 
| 7 | 7 | |
| 8 | 8 |  class views_handler_field_boincwork_app_version_number extends views_handler_field { | 
| 9 | -  function construct() { | |
| 9 | +    function construct() { | |
| 10 | 10 | parent::construct(); | 
| 11 | - } | |
| 11 | + } | |
| 12 | 12 | |
| 13 | -  function render($values) { | |
| 13 | +    function render($values) { | |
| 14 | 14 |      return sprintf("%01.2f", $values->app_version_host_app_version_version_num / 100); | 
| 15 | - } | |
| 15 | + } | |
| 16 | 16 | } | 
| @@ -180,12 +180,12 @@ | ||
| 180 | 180 | */ | 
| 181 | 181 |  function boincwork_locale($op = 'groups', $group = NULL) { | 
| 182 | 182 |    switch ($op) { | 
| 183 | - case 'groups': | |
| 184 | -      return array('project' => bts('Project')); | |
| 185 | - case 'info': | |
| 186 | - $info['project']['refresh callback'] = 'boincwork_locale_refresh'; | |
| 187 | - $info['project']['format'] = FALSE; | |
| 188 | - return $info; | |
| 183 | + case 'groups': | |
| 184 | +    return array('project' => bts('Project')); | |
| 185 | + case 'info': | |
| 186 | + $info['project']['refresh callback'] = 'boincwork_locale_refresh'; | |
| 187 | + $info['project']['format'] = FALSE; | |
| 188 | + return $info; | |
| 189 | 189 | } | 
| 190 | 190 | } | 
| 191 | 191 | |
| @@ -2,9 +2,9 @@ discard block | ||
| 2 | 2 | // $Id$ | 
| 3 | 3 | |
| 4 | 4 | /** | 
| 5 | - * @file | |
| 6 | - * Enable BOINC features related to processing work and credit. | |
| 7 | - */ | |
| 5 | + * @file | |
| 6 | + * Enable BOINC features related to processing work and credit. | |
| 7 | + */ | |
| 8 | 8 | |
| 9 | 9 | |
| 10 | 10 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * | 
| @@ -21,70 +21,70 @@ discard block | ||
| 21 | 21 | * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | 
| 22 | 22 | |
| 23 | 23 | /** | 
| 24 | - * Implementation of hook_menu(). | |
| 25 | - */ | |
| 24 | + * Implementation of hook_menu(). | |
| 25 | + */ | |
| 26 | 26 |  function boincwork_menu() { | 
| 27 | -  require_boinc('util'); | |
| 28 | - $items['account/prefs'] = array( | |
| 27 | +    require_boinc('util'); | |
| 28 | + $items['account/prefs'] = array( | |
| 29 | 29 | 'title' => 'Computing', | 
| 30 | 30 | 'description' => '', | 
| 31 | 31 | 'page callback' => 'generalprefs_page', | 
| 32 | 32 | 'access callback' => 'user_is_logged_in', | 
| 33 | 33 | 'type' => MENU_NORMAL_ITEM | 
| 34 | - ); | |
| 35 | - $items['account/prefs/computing'] = array( | |
| 34 | + ); | |
| 35 | + $items['account/prefs/computing'] = array( | |
| 36 | 36 | 'title' => 'Computing', | 
| 37 | 37 | 'page callback' => 'generalprefs_page', | 
| 38 | 38 | 'access callback' => 'user_is_logged_in', | 
| 39 | 39 | 'type' => MENU_DEFAULT_LOCAL_TASK, | 
| 40 | 40 | 'weight' => 0 | 
| 41 | - ); | |
| 42 | - $items['account/prefs/project'] = array( | |
| 41 | + ); | |
| 42 | + $items['account/prefs/project'] = array( | |
| 43 | 43 | 'title' => 'Project', | 
| 44 | 44 | 'page callback' => 'projectprefs_page', | 
| 45 | 45 | 'access callback' => 'user_is_logged_in', | 
| 46 | 46 | 'type' => MENU_LOCAL_TASK, | 
| 47 | 47 | 'weight' => 5 | 
| 48 | - ); | |
| 49 | - $items['account/prefs/community'] = array( | |
| 48 | + ); | |
| 49 | + $items['account/prefs/community'] = array( | |
| 50 | 50 | 'title' => 'Community', | 
| 51 | 51 | 'page callback' => 'communityprefs_page', | 
| 52 | 52 | 'access callback' => 'user_is_logged_in', | 
| 53 | 53 | 'type' => MENU_LOCAL_TASK, | 
| 54 | 54 | 'weight' => 10 | 
| 55 | - ); | |
| 56 | - $items['account/prefs/privacy'] = array( | |
| 55 | + ); | |
| 56 | + $items['account/prefs/privacy'] = array( | |
| 57 | 57 | 'title' => 'Privacy', | 
| 58 | 58 | 'page callback' => 'privacyprefs_page', | 
| 59 | 59 | 'access callback' => 'user_is_logged_in', | 
| 60 | 60 | 'type' => MENU_LOCAL_TASK, | 
| 61 | 61 | 'weight' => 15 | 
| 62 | - ); | |
| 63 | -  if (module_exists('ignore_user')) { | |
| 62 | + ); | |
| 63 | +    if (module_exists('ignore_user')) { | |
| 64 | 64 | $items['account/prefs/privacy/ignore_user/add'] = array( | 
| 65 | - 'title' => 'Add from ignore list', | |
| 66 | - 'description' => 'Add user that you with to ignore to your ignore list.', | |
| 67 | - 'page callback' => 'boincwork_ignore_user_add_user', | |
| 68 | - 'access callback' => 'user_access', | |
| 69 | -      'access arguments' => array('ignore user'), | |
| 70 | - 'type' => MENU_CALLBACK, | |
| 65 | + 'title' => 'Add from ignore list', | |
| 66 | + 'description' => 'Add user that you with to ignore to your ignore list.', | |
| 67 | + 'page callback' => 'boincwork_ignore_user_add_user', | |
| 68 | + 'access callback' => 'user_access', | |
| 69 | +        'access arguments' => array('ignore user'), | |
| 70 | + 'type' => MENU_CALLBACK, | |
| 71 | 71 | ); | 
| 72 | 72 | $items['account/prefs/privacy/ignore_user/remove'] = array( | 
| 73 | - 'title' => 'Remove from ignore list', | |
| 74 | - 'description' => 'Remove user from your ignore list.', | |
| 75 | - 'page callback' => 'boincwork_ignore_user_remove_user', | |
| 76 | - 'access callback' => 'user_access', | |
| 77 | -      'access arguments' => array('ignore user'), | |
| 78 | - 'type' => MENU_CALLBACK, | |
| 73 | + 'title' => 'Remove from ignore list', | |
| 74 | + 'description' => 'Remove user from your ignore list.', | |
| 75 | + 'page callback' => 'boincwork_ignore_user_remove_user', | |
| 76 | + 'access callback' => 'user_access', | |
| 77 | +        'access arguments' => array('ignore user'), | |
| 78 | + 'type' => MENU_CALLBACK, | |
| 79 | 79 | ); | 
| 80 | - }// endif module_exists | |
| 81 | - $items['account/certs'] = array( | |
| 80 | + }// endif module_exists | |
| 81 | + $items['account/certs'] = array( | |
| 82 | 82 | 'title' =>'Account certificate', | 
| 83 | 83 | 'page callback' => 'boincwork_certificates', | 
| 84 | 84 |      'access arguments' => array('access content'), | 
| 85 | 85 | 'type' => MENU_CALLBACK | 
| 86 | - ); | |
| 87 | - $items['admin/boinc/prefs/general'] = array( | |
| 86 | + ); | |
| 87 | + $items['admin/boinc/prefs/general'] = array( | |
| 88 | 88 | 'title' => 'Preferences: General', | 
| 89 | 89 | 'description' => 'Set options for BOINC preference set pages', | 
| 90 | 90 | 'page callback' => 'drupal_get_form', | 
| @@ -92,16 +92,16 @@ discard block | ||
| 92 | 92 |      'access arguments' => array('administer site configuration'), | 
| 93 | 93 | 'type' => MENU_NORMAL_ITEM, | 
| 94 | 94 | 'file' => 'boincwork.admin.inc' | 
| 95 | - ); | |
| 96 | - $items['admin/boinc/prefs/presets'] = array( | |
| 95 | + ); | |
| 96 | + $items['admin/boinc/prefs/presets'] = array( | |
| 97 | 97 | 'title' => 'Preferences: Presets', | 
| 98 | 98 | 'description' => 'Set values for BOINC preference set presets.', | 
| 99 | 99 | 'page callback' => 'boincwork_admin_prefs_presets_page', | 
| 100 | 100 |      'access arguments' => array('administer site configuration'), | 
| 101 | 101 | 'type' => MENU_NORMAL_ITEM, | 
| 102 | 102 | 'file' => 'boincwork.admin.inc' | 
| 103 | - ); | |
| 104 | - $items['admin/boinc/prefs/upload'] = array( | |
| 103 | + ); | |
| 104 | + $items['admin/boinc/prefs/upload'] = array( | |
| 105 | 105 | 'title' => 'Preferences: Project-specific XML upload', | 
| 106 | 106 | 'description' => 'Upload XML configuration for project specific preferences.', | 
| 107 | 107 | 'page callback' => 'drupal_get_form', | 
| @@ -109,153 +109,153 @@ discard block | ||
| 109 | 109 |      'access arguments' => array('administer site configuration'), | 
| 110 | 110 | 'type' => MENU_NORMAL_ITEM, | 
| 111 | 111 | 'file' => 'boincwork.admin.inc' | 
| 112 | - ); | |
| 113 | - $items['host/%/delete'] = array( | |
| 112 | + ); | |
| 113 | + $items['host/%/delete'] = array( | |
| 114 | 114 | 'title' => 'Delete host', | 
| 115 | 115 | 'page callback' => 'boincwork_host_delete', | 
| 116 | 116 | 'page arguments' => array(1), | 
| 117 | 117 | 'access callback' => 'user_is_logged_in', | 
| 118 | 118 | 'type' => MENU_CALLBACK, | 
| 119 | - ); | |
| 120 | - $items['host/%/log'] = array( | |
| 119 | + ); | |
| 120 | + $items['host/%/log'] = array( | |
| 121 | 121 | 'title' => 'Host log', | 
| 122 | 122 | 'page callback' => 'boincwork_host_log', | 
| 123 | 123 | 'page arguments' => array(1), | 
| 124 | 124 | 'access callback' => 'user_is_logged_in', | 
| 125 | 125 | 'type' => MENU_CALLBACK, | 
| 126 | - ); | |
| 127 | - $items['host/%/merge'] = array( | |
| 126 | + ); | |
| 127 | + $items['host/%/merge'] = array( | |
| 128 | 128 | 'title' => 'Merge computer', | 
| 129 | 129 | 'page callback' => 'drupal_get_form', | 
| 130 | 130 |      'page arguments' => array('boincwork_host_merge_form', 1), | 
| 131 | 131 | 'access callback' => 'user_is_logged_in', | 
| 132 | 132 | 'type' => MENU_CALLBACK, | 
| 133 | - ); | |
| 134 | - $items['host/%/set-venue/%'] = array( | |
| 133 | + ); | |
| 134 | + $items['host/%/set-venue/%'] = array( | |
| 135 | 135 | 'title' => 'Set host venue', | 
| 136 | 136 | 'page callback' => 'boincwork_host_set_venue', | 
| 137 | 137 | 'page arguments' => array(1,3), | 
| 138 | 138 | 'access callback' => 'user_is_logged_in', | 
| 139 | 139 | 'type' => MENU_CALLBACK, | 
| 140 | - ); | |
| 141 | - $items['user/%/mobile'] = array( | |
| 140 | + ); | |
| 141 | + $items['user/%/mobile'] = array( | |
| 142 | 142 | 'title' => 'Mobile stats', | 
| 143 | 143 | 'page callback' => 'boincwork_mobile_stats', | 
| 144 | 144 | 'page arguments' => array(1), | 
| 145 | 145 | 'access callback' => 'user_is_logged_in', | 
| 146 | 146 | 'type' => MENU_CALLBACK | 
| 147 | - ); | |
| 148 | - $items['server_status.php'] = array( | |
| 147 | + ); | |
| 148 | + $items['server_status.php'] = array( | |
| 149 | 149 | 'title' => 'Server status', | 
| 150 | 150 | 'page callback' => 'boincwork_server_status', | 
| 151 | 151 |      'access arguments' => array('access content'), | 
| 152 | 152 | 'type' => MENU_CALLBACK | 
| 153 | - ); | |
| 154 | - $items['job_file.php'] = array( | |
| 153 | + ); | |
| 154 | + $items['job_file.php'] = array( | |
| 155 | 155 | 'title' => 'Job file input', | 
| 156 | 156 | 'page callback' => 'boincwork_job_file', | 
| 157 | 157 |      'access arguments' => array('access content'), | 
| 158 | 158 | 'type' => MENU_CALLBACK | 
| 159 | - ); | |
| 160 | - $items['get_output.php'] = array( | |
| 159 | + ); | |
| 160 | + $items['get_output.php'] = array( | |
| 161 | 161 | 'title' => 'Get output file', | 
| 162 | 162 | 'page callback' => 'boincwork_get_output', | 
| 163 | 163 |      'access arguments' => array('access content'), | 
| 164 | 164 | 'type' => MENU_CALLBACK | 
| 165 | - ); | |
| 166 | - $items['get_project_config.php'] = array( | |
| 165 | + ); | |
| 166 | + $items['get_project_config.php'] = array( | |
| 167 | 167 | 'title' => 'Project config', | 
| 168 | 168 | 'page callback' => 'boincwork_get_project_config', | 
| 169 | 169 |      'access arguments' => array('access content'), | 
| 170 | 170 | 'type' => MENU_CALLBACK | 
| 171 | - ); | |
| 172 | - $items['submit_rpc_handler.php'] = array( | |
| 171 | + ); | |
| 172 | + $items['submit_rpc_handler.php'] = array( | |
| 173 | 173 | 'title' => 'Remote job submission', | 
| 174 | 174 | 'page callback' => 'boincwork_submit_rpc_handler', | 
| 175 | 175 |      'access arguments' => array('access content'), | 
| 176 | 176 | 'type' => MENU_CALLBACK | 
| 177 | - ); | |
| 178 | - $items['userw.php'] = array( | |
| 177 | + ); | |
| 178 | + $items['userw.php'] = array( | |
| 179 | 179 | 'title' => 'User WAP', | 
| 180 | 180 | 'page callback' => 'boincwork_user_wap', | 
| 181 | 181 |      'access arguments' => array('access content'), | 
| 182 | 182 | 'type' => MENU_CALLBACK | 
| 183 | - ); | |
| 184 | - $items['account/tasks/%/%'] = array( | |
| 183 | + ); | |
| 184 | + $items['account/tasks/%/%'] = array( | |
| 185 | 185 | 'title' => 'Account Tasks Table', | 
| 186 | 186 | 'description' => '', | 
| 187 | 187 | 'page callback' => 'boincwork_account_task_table', | 
| 188 | 188 | 'page arguments' => array(2,3), | 
| 189 | 189 |      'access arguments' => array('access content'), | 
| 190 | 190 | 'type' => MENU_CALLBACK, | 
| 191 | - ); | |
| 192 | - $items['host/%/tasks/%/%'] = array( | |
| 191 | + ); | |
| 192 | + $items['host/%/tasks/%/%'] = array( | |
| 193 | 193 | 'title' => 'Host Tasks Table', | 
| 194 | 194 | 'description' => '', | 
| 195 | 195 | 'page callback' => 'boincwork_host_task_table', | 
| 196 | 196 | 'page arguments' => array(1,3,4), | 
| 197 | 197 |      'access arguments' => array('access content'), | 
| 198 | 198 | 'type' => MENU_CALLBACK, | 
| 199 | - ); | |
| 200 | - // Workunit task table disabled | |
| 201 | - //$items['workunit/%/tasks/%/%'] = array( | |
| 202 | - // 'title' => 'Workunit Tasks Table', | |
| 203 | - // 'description' => '', | |
| 204 | - // 'page callback' => 'boincwork_workunit_task_table', | |
| 205 | - // 'page arguments' => array(1,3,4), | |
| 206 | -  //  'access arguments' => array('access content'), | |
| 207 | - // 'type' => MENU_CALLBACK, | |
| 208 | - //); | |
| 209 | - return $items; | |
| 199 | + ); | |
| 200 | + // Workunit task table disabled | |
| 201 | + //$items['workunit/%/tasks/%/%'] = array( | |
| 202 | + // 'title' => 'Workunit Tasks Table', | |
| 203 | + // 'description' => '', | |
| 204 | + // 'page callback' => 'boincwork_workunit_task_table', | |
| 205 | + // 'page arguments' => array(1,3,4), | |
| 206 | +    //  'access arguments' => array('access content'), | |
| 207 | + // 'type' => MENU_CALLBACK, | |
| 208 | + //); | |
| 209 | + return $items; | |
| 210 | 210 | } | 
| 211 | 211 | |
| 212 | 212 | /** | 
| 213 | 213 | * Implementation of hook_theme(). | 
| 214 | 214 | */ | 
| 215 | 215 |  function boincwork_theme() { | 
| 216 | - return array( | |
| 216 | + return array( | |
| 217 | 217 | 'boincwork_privacyprefs_form' => array( | 
| 218 | -      'arguments' => array('form'), | |
| 218 | +        'arguments' => array('form'), | |
| 219 | 219 | ), | 
| 220 | - ); | |
| 220 | + ); | |
| 221 | 221 | } | 
| 222 | 222 | |
| 223 | 223 | /** | 
| 224 | 224 | * Implementation of hook_views_api(). | 
| 225 | 225 | */ | 
| 226 | 226 |  function boincwork_views_api() { | 
| 227 | - return array( | |
| 227 | + return array( | |
| 228 | 228 | 'api' => 2.0, | 
| 229 | 229 |      'path' => drupal_get_path('module', 'boincwork') | 
| 230 | - ); | |
| 230 | + ); | |
| 231 | 231 | } | 
| 232 | 232 | |
| 233 | 233 | /** | 
| 234 | 234 | * Implementation of hook_locale(). | 
| 235 | 235 | */ | 
| 236 | 236 |  function boincwork_locale($op = 'groups', $group = NULL) { | 
| 237 | -  switch ($op) { | |
| 237 | +    switch ($op) { | |
| 238 | 238 | case 'groups': | 
| 239 | 239 |        return array('project' => bts('Project')); | 
| 240 | 240 | case 'info': | 
| 241 | 241 | $info['project']['refresh callback'] = 'boincwork_locale_refresh'; | 
| 242 | - $info['project']['format'] = FALSE; | |
| 243 | - return $info; | |
| 244 | - } | |
| 242 | + $info['project']['format'] = FALSE; | |
| 243 | + return $info; | |
| 244 | + } | |
| 245 | 245 | } | 
| 246 | 246 | |
| 247 | 247 | /** | 
| 248 | 248 | * Refresh strings. | 
| 249 | 249 | */ | 
| 250 | 250 |  function boincwork_locale_refresh() { | 
| 251 | - // Mimic process of adding project specific prefs to the project preferences | |
| 252 | - // form -- this parses the prefs XML and calls i18nstrings_update() | |
| 253 | - $form = array(); | |
| 254 | - $prefs = array( | |
| 251 | + // Mimic process of adding project specific prefs to the project preferences | |
| 252 | + // form -- this parses the prefs XML and calls i18nstrings_update() | |
| 253 | + $form = array(); | |
| 254 | + $prefs = array( | |
| 255 | 255 | 'project_specific' => array(), | 
| 256 | - ); | |
| 257 | - boincwork_add_project_specific_prefs($form, $prefs); | |
| 258 | - return TRUE; // Meaning it completed with no issues | |
| 256 | + ); | |
| 257 | + boincwork_add_project_specific_prefs($form, $prefs); | |
| 258 | + return TRUE; // Meaning it completed with no issues | |
| 259 | 259 | } | 
| 260 | 260 | |
| 261 | 261 | |
| @@ -264,43 +264,43 @@ discard block | ||
| 264 | 264 | */ | 
| 265 | 265 | |
| 266 | 266 |  function boincwork_privatemsg_message_view_alter(&$vars) { | 
| 267 | - global $user; | |
| 267 | + global $user; | |
| 268 | 268 | |
| 269 | - $author = $vars['message']['author']; | |
| 270 | -  if (!isset($vars['message']['thread_id'])) { | |
| 269 | + $author = $vars['message']['author']; | |
| 270 | +    if (!isset($vars['message']['thread_id'])) { | |
| 271 | 271 | // No thread id, this is probably only a preview | 
| 272 | 272 | return; | 
| 273 | - } | |
| 274 | - $thread_id = $vars['message']['thread_id']; | |
| 273 | + } | |
| 274 | + $thread_id = $vars['message']['thread_id']; | |
| 275 | 275 | |
| 276 | -  if ($user->uid != $author->uid) { | |
| 276 | +    if ($user->uid != $author->uid) { | |
| 277 | 277 |      if ($vars['message']['is_blocked']) { | 
| 278 | - $vars['message_actions']['unignore_user'] = array( | |
| 278 | + $vars['message_actions']['unignore_user'] = array( | |
| 279 | 279 |          'title' => bts('Stop Ignoring User', array(), NULL, 'boinc:ignore-user-remove'), | 
| 280 | 280 | 'href' => 'account/prefs/privacy/ignore_user/remove/'. $author->uid, | 
| 281 | 281 | 'query' => 'destination=messages/view/' . $thread_id, | 
| 282 | - ); | |
| 282 | + ); | |
| 283 | 283 | } | 
| 284 | 284 |      else { | 
| 285 | - $vars['message_actions']['ignore_user'] = array( | |
| 285 | + $vars['message_actions']['ignore_user'] = array( | |
| 286 | 286 |          'title' => bts('Ignore User', array(), NULL, 'boinc:ignore-user-add'), | 
| 287 | 287 | 'href' => 'account/prefs/privacy/ignore_user/add/'. $author->uid, | 
| 288 | 288 | 'query' => 'destination=messages/view/' . $thread_id, | 
| 289 | - ); | |
| 289 | + ); | |
| 290 | + } | |
| 290 | 291 | } | 
| 291 | - } | |
| 292 | 292 | } | 
| 293 | 293 | |
| 294 | 294 | /** | 
| 295 | 295 | * Implementation of hook_cron() | 
| 296 | 296 | */ | 
| 297 | 297 |  function boincwork_cron() { | 
| 298 | - // Delete expired hosts in the BOINC database, host_delete table. | |
| 299 | -  require_boinc('boinc_db'); | |
| 300 | - $num_deleted = BoincHostDeleted::delete_expired(); | |
| 301 | -  if ($num_deleted>0) { | |
| 298 | + // Delete expired hosts in the BOINC database, host_delete table. | |
| 299 | +    require_boinc('boinc_db'); | |
| 300 | + $num_deleted = BoincHostDeleted::delete_expired(); | |
| 301 | +    if ($num_deleted>0) { | |
| 302 | 302 |      watchdog('boincwork', "Deleted ${num_deleted} hosts from host_deleted table", WATCHDOG_NOTICE); | 
| 303 | - } | |
| 303 | + } | |
| 304 | 304 | } | 
| 305 | 305 | |
| 306 | 306 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * | 
| @@ -308,41 +308,41 @@ discard block | ||
| 308 | 308 | * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | 
| 309 | 309 | |
| 310 | 310 | /** | 
| 311 | - * General preferences menu callback. | |
| 312 | - * Called when user goes to edit preferences page | |
| 313 | - */ | |
| 311 | + * General preferences menu callback. | |
| 312 | + * Called when user goes to edit preferences page | |
| 313 | + */ | |
| 314 | 314 |  function generalprefs_page($action = null, $venue = null, $advanced = FALSE) { | 
| 315 | 315 | |
| 316 | - // Keep the venue selected across preference pages | |
| 317 | - boincwork_select_venue($venue); | |
| 316 | + // Keep the venue selected across preference pages | |
| 317 | + boincwork_select_venue($venue); | |
| 318 | 318 | |
| 319 | -  $pref_sets = array('generic', 'home', 'school', 'work'); | |
| 320 | - $output = null; | |
| 321 | - // Set the page title | |
| 322 | - $title = 'Computing'; | |
| 323 | - drupal_set_title($title); | |
| 319 | +    $pref_sets = array('generic', 'home', 'school', 'work'); | |
| 320 | + $output = null; | |
| 321 | + // Set the page title | |
| 322 | + $title = 'Computing'; | |
| 323 | + drupal_set_title($title); | |
| 324 | 324 | |
| 325 | -  switch ($action) { | |
| 325 | +    switch ($action) { | |
| 326 | 326 | |
| 327 | - case 'clear': | |
| 327 | + case 'clear': | |
| 328 | 328 | // Remove settings from this preference set | 
| 329 | 329 |      if ($venue AND $venue != 'generic') { | 
| 330 | - boincwork_save_prefs(NULL, 'general', $venue); | |
| 331 | -      drupal_set_message(t('Settings for the "@name" preference set have been | |
| 330 | + boincwork_save_prefs(NULL, 'general', $venue); | |
| 331 | +        drupal_set_message(t('Settings for the "@name" preference set have been | |
| 332 | 332 |          cleared', array('@name' => ucfirst($venue)))); | 
| 333 | - // Set the generic preference set as active | |
| 334 | - $_SESSION['prefs venue'] = 'generic'; | |
| 333 | + // Set the generic preference set as active | |
| 334 | + $_SESSION['prefs venue'] = 'generic'; | |
| 335 | 335 | } | 
| 336 | 336 | drupal_goto(); | 
| 337 | 337 | break; | 
| 338 | 338 | |
| 339 | - case 'combined': | |
| 339 | + case 'combined': | |
| 340 | 340 | // Compare preference sets; tabular view | 
| 341 | 341 | |
| 342 | 342 |      foreach ($pref_sets as $pref_set) { | 
| 343 | - $form_state = array(); | |
| 344 | -      $prefs[$pref_set] = drupal_retrieve_form('boincwork_generalprefs_form', $form_state, $pref_set); | |
| 345 | -      drupal_prepare_form('boincwork_generalprefs_form', $prefs[$pref_set], $form_state); | |
| 343 | + $form_state = array(); | |
| 344 | +        $prefs[$pref_set] = drupal_retrieve_form('boincwork_generalprefs_form', $form_state, $pref_set); | |
| 345 | +        drupal_prepare_form('boincwork_generalprefs_form', $prefs[$pref_set], $form_state); | |
| 346 | 346 | } | 
| 347 | 347 | |
| 348 | 348 |      $output .= '<p>' . bts('These apply to all BOINC projects in which you participate.', array(), NULL, 'boinc:account-preferences-computing') . '<br/>'; | 
| @@ -355,29 +355,29 @@ discard block | ||
| 355 | 355 | $prefs_table = boincwork_make_prefs_table($prefs['generic']['prefs']['advanced']); | 
| 356 | 356 | |
| 357 | 357 |      foreach ($prefs_table as $category => $section) { | 
| 358 | - $output .= '<tr class="section-heading">'; | |
| 359 | -      $output .= "<td>{$section['name']}</td>"; | |
| 360 | -      foreach ($pref_sets as $pref_set) { | |
| 358 | + $output .= '<tr class="section-heading">'; | |
| 359 | +        $output .= "<td>{$section['name']}</td>"; | |
| 360 | +        foreach ($pref_sets as $pref_set) { | |
| 361 | 361 | $output .= '<td>' . $pref_set . '</td>'; | 
| 362 | - } | |
| 363 | - $output .= '</tr>'; | |
| 364 | -      foreach ($section['elements'] as $name => $setting) { | |
| 362 | + } | |
| 363 | + $output .= '</tr>'; | |
| 364 | +        foreach ($section['elements'] as $name => $setting) { | |
| 365 | 365 | // Output the setting name and description, with an ugly exception | 
| 366 | 366 | // made for preferences with special formatting | 
| 367 | 367 | $special_map = array( | 
| 368 | - 'start_hour' => 'end_hour', | |
| 369 | - 'net_start_hour'=> 'net_end_hour', | |
| 370 | - 'daily_xfer_limit_mb' => 'daily_xfer_period_days', | |
| 368 | + 'start_hour' => 'end_hour', | |
| 369 | + 'net_start_hour'=> 'net_end_hour', | |
| 370 | + 'daily_xfer_limit_mb' => 'daily_xfer_period_days', | |
| 371 | 371 | ); | 
| 372 | 372 | $special_delimiter = array( | 
| 373 | -          'start_hour' => bts('and', array(), NULL, 'boinc:account-preference'), | |
| 374 | -          'net_start_hour'=> bts('and', array(), NULL, 'boinc:account-preference'), | |
| 375 | -          'daily_xfer_limit_mb' => bts('every', array(), NULL, 'boinc:account-preference'), | |
| 373 | +            'start_hour' => bts('and', array(), NULL, 'boinc:account-preference'), | |
| 374 | +            'net_start_hour'=> bts('and', array(), NULL, 'boinc:account-preference'), | |
| 375 | +            'daily_xfer_limit_mb' => bts('every', array(), NULL, 'boinc:account-preference'), | |
| 376 | 376 | ); | 
| 377 | 377 | $special = isset($special_map[$name]); | 
| 378 | 378 | $very_special = in_array($name, $special_map); | 
| 379 | 379 |          if ($very_special) { | 
| 380 | - continue; | |
| 380 | + continue; | |
| 381 | 381 | } | 
| 382 | 382 | $output .= '<tr>'; | 
| 383 | 383 | $output .= '<td>'; | 
| @@ -387,35 +387,35 @@ discard block | ||
| 387 | 387 | // Output values for each preference set, again with ugly hacks for | 
| 388 | 388 | // time range preferences | 
| 389 | 389 |          foreach ($pref_sets as $pref_set) { | 
| 390 | - if (($prefs[$pref_set]) AND | |
| 390 | + if (($prefs[$pref_set]) AND | |
| 391 | 391 | $prefs[$pref_set]['#established'] AND | 
| 392 | 392 |                isset($prefs[$pref_set]['prefs']['advanced'][$category])) { | 
| 393 | 393 | $pref_setting = $prefs[$pref_set]['prefs']['advanced'][$category][$name]; | 
| 394 | 394 | $value = isset($pref_setting['#options']) ? $pref_setting['#options'][$pref_setting['#default_value']] : $pref_setting['#default_value']; | 
| 395 | 395 |              if ($value == '') { | 
| 396 | - $value = '---'; | |
| 396 | + $value = '---'; | |
| 397 | 397 | } | 
| 398 | 398 |              if (!isset($pref_setting['#field_suffix'])) { | 
| 399 | - $pref_setting['#field_suffix'] = ''; | |
| 399 | + $pref_setting['#field_suffix'] = ''; | |
| 400 | 400 | } | 
| 401 | 401 |              if (!$special) { | 
| 402 | -              $output .= "<td>{$value} {$pref_setting['#field_suffix']}</td>"; | |
| 402 | +                $output .= "<td>{$value} {$pref_setting['#field_suffix']}</td>"; | |
| 403 | 403 | } | 
| 404 | 404 |              else { | 
| 405 | - // The "very special" case where we merge two prefs | |
| 406 | - $second_pref = $special_map[$name]; | |
| 407 | - $second_pref_setting = $prefs[$pref_set]['prefs']['advanced'][$category][$second_pref]; | |
| 408 | - $second_value = isset($second_pref_setting['#options']) ? $second_pref_setting['#options'][$second_pref_setting['#default_value']] : $second_pref_setting['#default_value']; | |
| 409 | -              $output .= "<td>{$value} {$pref_setting['#field_suffix']} {$special_delimiter[$name]}" . | |
| 405 | + // The "very special" case where we merge two prefs | |
| 406 | + $second_pref = $special_map[$name]; | |
| 407 | + $second_pref_setting = $prefs[$pref_set]['prefs']['advanced'][$category][$second_pref]; | |
| 408 | + $second_value = isset($second_pref_setting['#options']) ? $second_pref_setting['#options'][$second_pref_setting['#default_value']] : $second_pref_setting['#default_value']; | |
| 409 | +                $output .= "<td>{$value} {$pref_setting['#field_suffix']} {$special_delimiter[$name]}" . | |
| 410 | 410 |                  " {$second_value} {$second_pref_setting['#field_suffix']} </td>"; | 
| 411 | 411 | } | 
| 412 | - } | |
| 413 | -          else  { | |
| 412 | + } | |
| 413 | +            else  { | |
| 414 | 414 | $output .= '<td>---</td>'; | 
| 415 | - } | |
| 415 | + } | |
| 416 | 416 | } | 
| 417 | 417 | $output .= '</tr>'; | 
| 418 | - } | |
| 418 | + } | |
| 419 | 419 | } | 
| 420 | 420 | |
| 421 | 421 | // Empty line above action links... :/ | 
| @@ -431,24 +431,24 @@ discard block | ||
| 431 | 431 | $output .= '<tr>'; | 
| 432 | 432 | $output .= '<td></td>'; | 
| 433 | 433 |      foreach ($pref_sets as $pref_set) { | 
| 434 | -      $action_text = ($prefs[$pref_set]['#established']) ? bts('Edit', array(), NULL, 'boinc:form-edit') : bts('Add', array(), NULL, 'boinc:form-add'); | |
| 435 | - $output .= '<td><ul class="tab-list"><li class="first tab">'; | |
| 436 | -      $output .= l($action_text, "account/prefs/computing/edit/{$pref_set}/1", | |
| 434 | +        $action_text = ($prefs[$pref_set]['#established']) ? bts('Edit', array(), NULL, 'boinc:form-edit') : bts('Add', array(), NULL, 'boinc:form-add'); | |
| 435 | + $output .= '<td><ul class="tab-list"><li class="first tab">'; | |
| 436 | +        $output .= l($action_text, "account/prefs/computing/edit/{$pref_set}/1", | |
| 437 | 437 |          array('fragment' => "") | 
| 438 | - ); | |
| 439 | - // Show Clear links for established preference sets | |
| 440 | -      if ($pref_set != 'generic' AND $prefs[$pref_set]['#established']) { | |
| 438 | + ); | |
| 439 | + // Show Clear links for established preference sets | |
| 440 | +        if ($pref_set != 'generic' AND $prefs[$pref_set]['#established']) { | |
| 441 | 441 |          $output .= ' </li><li class="tab"> ' . l(bts('Clear', array(), NULL, 'boinc:form-clear'), "account/prefs/computing/clear/{$pref_set}", | 
| 442 | - array( | |
| 442 | + array( | |
| 443 | 443 | 'query' => drupal_get_destination(), | 
| 444 | 444 | 'attributes' => array( | 
| 445 | -              'onclick' => 'return confirm(\'' . bts('This will remove all of your settings from the "@name" preference set. Are you sure?', | |
| 445 | +                'onclick' => 'return confirm(\'' . bts('This will remove all of your settings from the "@name" preference set. Are you sure?', | |
| 446 | 446 |                  array('@name' => ucfirst($pref_set)), NULL, 'boinc:account-computing-preferences') . '\')' | 
| 447 | 447 | ) | 
| 448 | - ) | |
| 448 | + ) | |
| 449 | 449 | ); | 
| 450 | - } | |
| 451 | - $output .= '</li></ul></td>'; | |
| 450 | + } | |
| 451 | + $output .= '</li></ul></td>'; | |
| 452 | 452 | } | 
| 453 | 453 | $output .= '</tr>'; | 
| 454 | 454 | |
| @@ -456,28 +456,28 @@ discard block | ||
| 456 | 456 | |
| 457 | 457 | break; | 
| 458 | 458 | |
| 459 | - case 'edit': | |
| 459 | + case 'edit': | |
| 460 | 460 | default: | 
| 461 | 461 | |
| 462 | 462 | // Return the HTML generated from the $form data structure. | 
| 463 | 463 |      if (function_exists('jump_quickly')) { | 
| 464 | - $path = 'account/prefs/computing/edit'; | |
| 465 | - $venues = array( | |
| 464 | + $path = 'account/prefs/computing/edit'; | |
| 465 | + $venues = array( | |
| 466 | 466 |          "{$path}/generic" => bts('Generic', array(), NULL, 'boinc:account-preferences-location'), | 
| 467 | 467 |          "{$path}/home" => bts('Home', array(), NULL, 'boinc:account-preferences-location:-1:ignoreoverwrite'), | 
| 468 | 468 |          "{$path}/school" => bts('School', array(), NULL, 'boinc:account-preferences-location'), | 
| 469 | 469 |          "{$path}/work" => bts('Work', array(), NULL, 'boinc:account-preferences-location') | 
| 470 | - ); | |
| 471 | -      variable_set('jump_use_js_venues-Array', 1); | |
| 472 | -      drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); | |
| 473 | -      drupal_add_js(drupal_get_path('theme', 'boinc') . '/js/prefs.js', 'theme'); | |
| 474 | - | |
| 475 | - $output .= '<div id="venue-selector" class="simple-form-controls">'; | |
| 476 | - $output .= ' <div class="form-item venue">'; | |
| 477 | - $output .= ' <label>Preference set:</label>'; | |
| 478 | -      $output .= jump_quickly($venues, 'venues', 1, "{$path}/{$venue}"); | |
| 479 | - $output .= ' </div>'; | |
| 480 | - $output .= '</div>'; | |
| 470 | + ); | |
| 471 | +        variable_set('jump_use_js_venues-Array', 1); | |
| 472 | +        drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); | |
| 473 | +        drupal_add_js(drupal_get_path('theme', 'boinc') . '/js/prefs.js', 'theme'); | |
| 474 | + | |
| 475 | + $output .= '<div id="venue-selector" class="simple-form-controls">'; | |
| 476 | + $output .= ' <div class="form-item venue">'; | |
| 477 | + $output .= ' <label>Preference set:</label>'; | |
| 478 | +        $output .= jump_quickly($venues, 'venues', 1, "{$path}/{$venue}"); | |
| 479 | + $output .= ' </div>'; | |
| 480 | + $output .= '</div>'; | |
| 481 | 481 | } | 
| 482 | 482 |      $output .= drupal_get_form('boincwork_generalprefs_form', $venue, NULL, $advanced); | 
| 483 | 483 | |
| @@ -488,54 +488,54 @@ discard block | ||
| 488 | 488 |      drupal_prepare_form('boincwork_generalprefs_form', $current_set, $form_state); | 
| 489 | 489 | |
| 490 | 490 |      if (!$current_set['#established']) { | 
| 491 | - drupal_set_message(bts( | |
| 492 | - "No preferences found for set '@venue'. Click SAVE CHANGES below to save the following preferences to your account.", | |
| 493 | - array( '@venue' => $venue, ), | |
| 494 | - NULL, 'boinc:account-preferences'), 'status'); | |
| 491 | + drupal_set_message(bts( | |
| 492 | + "No preferences found for set '@venue'. Click SAVE CHANGES below to save the following preferences to your account.", | |
| 493 | + array( '@venue' => $venue, ), | |
| 494 | + NULL, 'boinc:account-preferences'), 'status'); | |
| 495 | 495 | } | 
| 496 | 496 | |
| 497 | 497 | break; | 
| 498 | - } | |
| 498 | + } | |
| 499 | 499 | |
| 500 | - return $output; | |
| 500 | + return $output; | |
| 501 | 501 | } | 
| 502 | 502 | |
| 503 | 503 | /** | 
| 504 | - * Project preferences menu callback | |
| 505 | - * Called when user goes to edit project preferences page. | |
| 506 | - */ | |
| 504 | + * Project preferences menu callback | |
| 505 | + * Called when user goes to edit project preferences page. | |
| 506 | + */ | |
| 507 | 507 |  function projectprefs_page($action = null, $venue = null) { | 
| 508 | 508 | |
| 509 | - // Keep the venue selected across preference pages | |
| 510 | - boincwork_select_venue($venue); | |
| 509 | + // Keep the venue selected across preference pages | |
| 510 | + boincwork_select_venue($venue); | |
| 511 | 511 | |
| 512 | -  require_boinc(array('util', 'prefs')); | |
| 513 | - global $project_has_beta; | |
| 514 | -  $pref_sets = array('generic', 'home', 'school', 'work'); | |
| 515 | - $output = null; | |
| 512 | +    require_boinc(array('util', 'prefs')); | |
| 513 | + global $project_has_beta; | |
| 514 | +    $pref_sets = array('generic', 'home', 'school', 'work'); | |
| 515 | + $output = null; | |
| 516 | 516 | |
| 517 | - $title = 'Project'; | |
| 518 | - drupal_set_title($title); | |
| 517 | + $title = 'Project'; | |
| 518 | + drupal_set_title($title); | |
| 519 | 519 | |
| 520 | -  switch ($action) { | |
| 520 | +    switch ($action) { | |
| 521 | 521 | |
| 522 | - case 'clear': | |
| 522 | + case 'clear': | |
| 523 | 523 | // Remove settings from this preference set | 
| 524 | 524 |      if ($venue AND $venue != 'generic') { | 
| 525 | - boincwork_save_prefs(NULL, 'project', $venue); | |
| 526 | -      drupal_set_message(t('Settings for the "@name" preference set have been | |
| 525 | + boincwork_save_prefs(NULL, 'project', $venue); | |
| 526 | +        drupal_set_message(t('Settings for the "@name" preference set have been | |
| 527 | 527 |          cleared', array('@name' => ucfirst($venue)))); | 
| 528 | 528 | |
| 529 | - // Set the generic preference set as active | |
| 530 | - $_SESSION['prefs venue'] = 'generic'; | |
| 529 | + // Set the generic preference set as active | |
| 530 | + $_SESSION['prefs venue'] = 'generic'; | |
| 531 | 531 | |
| 532 | - // If the user has removed their default preference set, make it generic | |
| 533 | - boincwork_set_default_venue(); | |
| 532 | + // If the user has removed their default preference set, make it generic | |
| 533 | + boincwork_set_default_venue(); | |
| 534 | 534 | } | 
| 535 | 535 | drupal_goto(); | 
| 536 | 536 | break; | 
| 537 | 537 | |
| 538 | - case 'combined': | |
| 538 | + case 'combined': | |
| 539 | 539 | |
| 540 | 540 | // Compare preference sets; tabular view | 
| 541 | 541 | |
| @@ -544,9 +544,9 @@ discard block | ||
| 544 | 544 | $boincuser = BoincUser::lookup_id($account->boincuser_id); | 
| 545 | 545 | |
| 546 | 546 |      foreach ($pref_sets as $pref_set) { | 
| 547 | - $form_state = array(); | |
| 548 | -      $prefs[$pref_set] = drupal_retrieve_form('boincwork_projectprefs_form', $form_state, $pref_set); | |
| 549 | -      drupal_prepare_form('boincwork_projectprefs_form', $prefs[$pref_set], $form_state); | |
| 547 | + $form_state = array(); | |
| 548 | +        $prefs[$pref_set] = drupal_retrieve_form('boincwork_projectprefs_form', $form_state, $pref_set); | |
| 549 | +        drupal_prepare_form('boincwork_projectprefs_form', $prefs[$pref_set], $form_state); | |
| 550 | 550 | } | 
| 551 | 551 | |
| 552 | 552 |      $output .= '<p>' . bts('Preferences last modified: @mod_time', array('@mod_time' => pretty_time_str($prefs['generic']['modified']['#value'])), NULL, 'boinc:account-preferences') . '</p>'; | 
| @@ -557,20 +557,20 @@ discard block | ||
| 557 | 557 | $prefs_table = boincwork_make_prefs_table($prefs['generic']); | 
| 558 | 558 | |
| 559 | 559 |      foreach ($prefs_table as $category => $section) { | 
| 560 | - $output .= '<tr class="section-heading">'; | |
| 561 | -      $output .= "<td>{$section['name']}</td>"; | |
| 562 | -      foreach ($pref_sets as $pref_set) { | |
| 560 | + $output .= '<tr class="section-heading">'; | |
| 561 | +        $output .= "<td>{$section['name']}</td>"; | |
| 562 | +        foreach ($pref_sets as $pref_set) { | |
| 563 | 563 | $output .= '<td>' . $pref_set . '</td>'; | 
| 564 | - } | |
| 565 | - $output .= '</tr>'; | |
| 566 | -      foreach ($section['elements'] as $name => $setting) { | |
| 564 | + } | |
| 565 | + $output .= '</tr>'; | |
| 566 | +        foreach ($section['elements'] as $name => $setting) { | |
| 567 | 567 | $output .= '<tr>'; | 
| 568 | 568 | $output .= '<td>'; | 
| 569 | 569 |          $output .= "<div class=\"title\">{$setting['name']}</div>"; | 
| 570 | 570 |          $output .= "<div class=\"description\">{$setting['description']}</div>"; | 
| 571 | 571 | $output .= '</td>'; | 
| 572 | 572 |          foreach ($pref_sets as $pref_set) { | 
| 573 | - if (($prefs[$pref_set]) AND | |
| 573 | + if (($prefs[$pref_set]) AND | |
| 574 | 574 | $prefs[$pref_set]['#established'] AND | 
| 575 | 575 |                isset($prefs[$pref_set][$category])) { | 
| 576 | 576 | $pref_setting = $prefs[$pref_set][$category][$name]; | 
| @@ -578,10 +578,10 @@ discard block | ||
| 578 | 578 | if ($value == '') $value = '---'; | 
| 579 | 579 | if (!isset($pref_setting['#field_suffix'])) $pref_setting['#field_suffix'] = ''; | 
| 580 | 580 |              $output .= "<td>{$value} {$pref_setting['#field_suffix']}</td>"; | 
| 581 | - } else $output .= '<td>---</td>'; | |
| 581 | + } else $output .= '<td>---</td>'; | |
| 582 | 582 | } | 
| 583 | 583 | $output .= '</tr>'; | 
| 584 | - } | |
| 584 | + } | |
| 585 | 585 | } | 
| 586 | 586 | |
| 587 | 587 | // Empty line above action links... :/ | 
| @@ -597,29 +597,29 @@ discard block | ||
| 597 | 597 | $output .= '<tr>'; | 
| 598 | 598 | $output .= '<td></td>'; | 
| 599 | 599 |      foreach ($pref_sets as $pref_set) { | 
| 600 | -      $action_text = ($prefs[$pref_set]['#established']) ? bts('Edit', array(), NULL, 'boinc:form-edit') : bts('Add', array(), NULL, 'boinc:form-add'); | |
| 601 | - $output .= '<td><ul class="tab-list"><li class="first tab">'; | |
| 602 | -      $output .= l($action_text, "account/prefs/project/edit/{$pref_set}"); | |
| 603 | - // Show Clear links for established preference sets | |
| 604 | -      if ($pref_set != 'generic' AND $prefs[$pref_set]['#established']) { | |
| 600 | +        $action_text = ($prefs[$pref_set]['#established']) ? bts('Edit', array(), NULL, 'boinc:form-edit') : bts('Add', array(), NULL, 'boinc:form-add'); | |
| 601 | + $output .= '<td><ul class="tab-list"><li class="first tab">'; | |
| 602 | +        $output .= l($action_text, "account/prefs/project/edit/{$pref_set}"); | |
| 603 | + // Show Clear links for established preference sets | |
| 604 | +        if ($pref_set != 'generic' AND $prefs[$pref_set]['#established']) { | |
| 605 | 605 |          $output .= ' </li><li class="tab"> ' . l(bts('Clear', array(), NULL, 'boinc:form-clear'), "account/prefs/project/clear/{$pref_set}", | 
| 606 | - array( | |
| 606 | + array( | |
| 607 | 607 | 'query' => drupal_get_destination(), | 
| 608 | 608 | 'attributes' => array( | 
| 609 | -              'onclick' => 'return confirm(\'' . bts('This will remove all of your settings from the "@name" preference set. Are you sure?', | |
| 609 | +                'onclick' => 'return confirm(\'' . bts('This will remove all of your settings from the "@name" preference set. Are you sure?', | |
| 610 | 610 |                  array('@name' => ucfirst($pref_set)), NULL, 'boinc:account-preferences-project') . '\')' | 
| 611 | 611 | ) | 
| 612 | - ) | |
| 612 | + ) | |
| 613 | 613 | ); | 
| 614 | - } | |
| 615 | - $output .= '</li></ul></td>'; | |
| 614 | + } | |
| 615 | + $output .= '</li></ul></td>'; | |
| 616 | 616 | } | 
| 617 | 617 | |
| 618 | 618 | $output .= '</table>'; | 
| 619 | 619 | |
| 620 | 620 | break; | 
| 621 | 621 | |
| 622 | - case 'set-default': | |
| 622 | + case 'set-default': | |
| 623 | 623 | // Set this preference set as the one to use for any new hosts attached | 
| 624 | 624 | // to the user account | 
| 625 | 625 | boincwork_set_default_venue($venue); | 
| @@ -627,30 +627,30 @@ discard block | ||
| 627 | 627 |      drupal_goto('account/prefs/project/combined'); | 
| 628 | 628 | break; | 
| 629 | 629 | |
| 630 | - case 'edit': | |
| 630 | + case 'edit': | |
| 631 | 631 | default: | 
| 632 | 632 | |
| 633 | 633 | // Return the HTML generated from the $form data structure. | 
| 634 | 634 |      require_boinc('util'); | 
| 635 | 635 | |
| 636 | 636 |      if (function_exists('jump_quickly')) { | 
| 637 | - $path = 'account/prefs/project/edit'; | |
| 638 | - $venues = array( | |
| 637 | + $path = 'account/prefs/project/edit'; | |
| 638 | + $venues = array( | |
| 639 | 639 |          "{$path}/generic" => bts('Generic', array(), NULL, 'boinc:account-preferences-location'), | 
| 640 | 640 |          "{$path}/home" => bts('Home', array(), NULL, 'boinc:account-preferences-location:-1:ignoreoverwrite'), | 
| 641 | 641 |          "{$path}/school" => bts('School', array(), NULL, 'boinc:account-preferences-location'), | 
| 642 | 642 |          "{$path}/work" => bts('Work', array(), NULL, 'boinc:account-preferences-location') | 
| 643 | - ); | |
| 644 | -      variable_set('jump_use_js_venues-Array', 1); | |
| 645 | -      drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); | |
| 646 | -      drupal_add_js(drupal_get_path('theme', 'boinc') . '/js/prefs.js', 'theme'); | |
| 647 | - | |
| 648 | - $output .= '<div id="venue-selector" class="simple-form-controls">'; | |
| 649 | - $output .= ' <div class="form-item venue">'; | |
| 650 | - $output .= ' <label>Preference set:</label>'; | |
| 651 | -      $output .= jump_quickly($venues, 'venues', 1, "{$path}/{$venue}"); | |
| 652 | - $output .= ' </div>'; | |
| 653 | - $output .= '</div>'; | |
| 643 | + ); | |
| 644 | +        variable_set('jump_use_js_venues-Array', 1); | |
| 645 | +        drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); | |
| 646 | +        drupal_add_js(drupal_get_path('theme', 'boinc') . '/js/prefs.js', 'theme'); | |
| 647 | + | |
| 648 | + $output .= '<div id="venue-selector" class="simple-form-controls">'; | |
| 649 | + $output .= ' <div class="form-item venue">'; | |
| 650 | + $output .= ' <label>Preference set:</label>'; | |
| 651 | +        $output .= jump_quickly($venues, 'venues', 1, "{$path}/{$venue}"); | |
| 652 | + $output .= ' </div>'; | |
| 653 | + $output .= '</div>'; | |
| 654 | 654 | } | 
| 655 | 655 |      $output .= drupal_get_form('boincwork_projectprefs_form', $venue); | 
| 656 | 656 | |
| @@ -661,63 +661,63 @@ discard block | ||
| 661 | 661 |      drupal_prepare_form('boincwork_projectprefs_form', $current_set, $form_state); | 
| 662 | 662 | |
| 663 | 663 |      if (!$current_set['#established']) { | 
| 664 | - drupal_set_message(bts( | |
| 665 | - "No preferences found for set '@venue'. Click SAVE CHANGES below to save the following preferences to your account.", | |
| 666 | - array( '@venue' => $venue, ), | |
| 667 | - NULL, 'boinc:account-preferences'), 'status'); | |
| 664 | + drupal_set_message(bts( | |
| 665 | + "No preferences found for set '@venue'. Click SAVE CHANGES below to save the following preferences to your account.", | |
| 666 | + array( '@venue' => $venue, ), | |
| 667 | + NULL, 'boinc:account-preferences'), 'status'); | |
| 668 | 668 | } | 
| 669 | 669 | |
| 670 | 670 | break; | 
| 671 | 671 | |
| 672 | - } | |
| 673 | - return $output; | |
| 672 | + } | |
| 673 | + return $output; | |
| 674 | 674 | } | 
| 675 | 675 | |
| 676 | 676 | /** | 
| 677 | - * Community preferences menu callback | |
| 678 | - * Called when user goes to edit community preferences page. | |
| 679 | - */ | |
| 677 | + * Community preferences menu callback | |
| 678 | + * Called when user goes to edit community preferences page. | |
| 679 | + */ | |
| 680 | 680 |  function communityprefs_page($action = null) { | 
| 681 | 681 | |
| 682 | -  require_boinc(array('util', 'prefs')); | |
| 683 | - $output = null; | |
| 682 | +    require_boinc(array('util', 'prefs')); | |
| 683 | + $output = null; | |
| 684 | 684 | |
| 685 | - $title = 'Community'; | |
| 686 | - drupal_set_title($title); | |
| 685 | + $title = 'Community'; | |
| 686 | + drupal_set_title($title); | |
| 687 | 687 | |
| 688 | - //$output .= '<h2>Community preferences</h2>'; | |
| 688 | + //$output .= '<h2>Community preferences</h2>'; | |
| 689 | 689 | |
| 690 | -  $output .= drupal_get_form('communityprefs_form'); | |
| 690 | +    $output .= drupal_get_form('communityprefs_form'); | |
| 691 | 691 | |
| 692 | - return $output; | |
| 692 | + return $output; | |
| 693 | 693 | } | 
| 694 | 694 | |
| 695 | 695 | /** | 
| 696 | - * Privacy preferences menu callback | |
| 697 | - * Called when user goes to edit privacy preferences page. | |
| 698 | - */ | |
| 696 | + * Privacy preferences menu callback | |
| 697 | + * Called when user goes to edit privacy preferences page. | |
| 698 | + */ | |
| 699 | 699 |  function privacyprefs_page($action = null) { | 
| 700 | 700 | |
| 701 | -  require_boinc(array('util', 'prefs')); | |
| 702 | - $output = null; | |
| 703 | - $title = 'Privacy'; | |
| 704 | - drupal_set_title($title); | |
| 701 | +    require_boinc(array('util', 'prefs')); | |
| 702 | + $output = null; | |
| 703 | + $title = 'Privacy'; | |
| 704 | + drupal_set_title($title); | |
| 705 | 705 | |
| 706 | -  switch ($action) { | |
| 707 | - case 'view': | |
| 706 | +    switch ($action) { | |
| 707 | + case 'view': | |
| 708 | 708 | $form_state = array(); | 
| 709 | 709 |      $prefs = drupal_retrieve_form('boincwork_privacyprefs_form', $form_state); | 
| 710 | 710 |      drupal_prepare_form('boincwork_privacyprefs_form', $prefs, $form_state); | 
| 711 | 711 | $output .= '<table>'; | 
| 712 | 712 | |
| 713 | 713 | $sections = array( | 
| 714 | - 'privacy' => $prefs['privacy'] | |
| 714 | + 'privacy' => $prefs['privacy'] | |
| 715 | 715 | ); | 
| 716 | 716 | |
| 717 | 717 |      foreach ($sections as $section) { | 
| 718 | - $output .= '<tr class="section-heading">'; | |
| 719 | -      $output .= "<td>{$section['#title']}</td></tr>"; | |
| 720 | -      foreach ($section as $name => $setting) { | |
| 718 | + $output .= '<tr class="section-heading">'; | |
| 719 | +        $output .= "<td>{$section['#title']}</td></tr>"; | |
| 720 | +        foreach ($section as $name => $setting) { | |
| 721 | 721 |          if ($name{0} == '#') continue; | 
| 722 | 722 | $value = isset($setting['#default_value']) ? $setting['#default_value'] : ''; | 
| 723 | 723 | if ($value AND isset($setting['#options'])) $value = $setting['#options'][$value]; | 
| @@ -729,7 +729,7 @@ discard block | ||
| 729 | 729 |          $output .= "<td>{$setting['#title']}<br/>{$setting['#description']}</td>"; | 
| 730 | 730 |          $output .= "<td>{$value} {$setting['#field_suffix']}</td>"; | 
| 731 | 731 | $output .= '</tr>'; | 
| 732 | - } | |
| 732 | + } | |
| 733 | 733 | } | 
| 734 | 734 | |
| 735 | 735 | // Edit preferences link | 
| @@ -742,33 +742,33 @@ discard block | ||
| 742 | 742 | |
| 743 | 743 | break; | 
| 744 | 744 | |
| 745 | - case 'edit': | |
| 745 | + case 'edit': | |
| 746 | 746 | default: | 
| 747 | 747 |      require_boinc('util'); | 
| 748 | 748 | // Return the HTML generated from the $form data structure. | 
| 749 | 749 |      $output .= drupal_get_form('boincwork_privacyprefs_form'); | 
| 750 | 750 | break; | 
| 751 | 751 | |
| 752 | - } | |
| 752 | + } | |
| 753 | 753 | |
| 754 | - return $output; | |
| 754 | + return $output; | |
| 755 | 755 | } | 
| 756 | 756 | |
| 757 | 757 | /** | 
| 758 | - * Certificates menu callback | |
| 759 | - * Called when user goes to account certificate pages | |
| 760 | - */ | |
| 758 | + * Certificates menu callback | |
| 759 | + * Called when user goes to account certificate pages | |
| 760 | + */ | |
| 761 | 761 |  function boincwork_certificates($type = null, $border = null) { | 
| 762 | - global $user; | |
| 763 | - $drupuser = user_load($user->uid); | |
| 764 | - // Load BOINC account and pre-authenticate with BOINC code | |
| 765 | -  require_boinc(array('util', 'cert')); | |
| 766 | - $boincuser = BoincUser::lookup_id($drupuser->boincuser_id); | |
| 767 | - //global $g_logged_in_user; | |
| 768 | - //$g_logged_in_user = $boincuser; | |
| 769 | - //print_r($boincuser); exit; | |
| 770 | -  switch ($type) { | |
| 771 | - case 'all': | |
| 762 | + global $user; | |
| 763 | + $drupuser = user_load($user->uid); | |
| 764 | + // Load BOINC account and pre-authenticate with BOINC code | |
| 765 | +    require_boinc(array('util', 'cert')); | |
| 766 | + $boincuser = BoincUser::lookup_id($drupuser->boincuser_id); | |
| 767 | + //global $g_logged_in_user; | |
| 768 | + //$g_logged_in_user = $boincuser; | |
| 769 | + //print_r($boincuser); exit; | |
| 770 | +    switch ($type) { | |
| 771 | + case 'all': | |
| 772 | 772 |      //include_boinc('user/cert_all.php'); | 
| 773 | 773 |      require_boinc(array('util','cert','user')); | 
| 774 | 774 | |
| @@ -838,7 +838,7 @@ discard block | ||
| 838 | 838 | "; | 
| 839 | 839 | break; | 
| 840 | 840 | |
| 841 | - case 'account': | |
| 841 | + case 'account': | |
| 842 | 842 | default: | 
| 843 | 843 |      //include_boinc('user/cert1.php'); | 
| 844 | 844 |      require_boinc(array('util','cert')); | 
| @@ -914,7 +914,7 @@ discard block | ||
| 914 | 914 | echo " | 
| 915 | 915 | </td><tr></table> | 
| 916 | 916 | "; | 
| 917 | - } | |
| 917 | + } | |
| 918 | 918 | } | 
| 919 | 919 | |
| 920 | 920 | /** | 
| @@ -922,42 +922,42 @@ discard block | ||
| 922 | 922 | * Called when user selects to delete a host | 
| 923 | 923 | */ | 
| 924 | 924 |  function boincwork_host_delete($host_id) { | 
| 925 | - // Verify that host has no tasks | |
| 926 | -  if (boincwork_host_user_is_owner($host_id)) { | |
| 925 | + // Verify that host has no tasks | |
| 926 | +    if (boincwork_host_user_is_owner($host_id)) { | |
| 927 | 927 |      if (!boincwork_host_get_task_count($host_id)) { | 
| 928 | - // Delete the host record | |
| 929 | -      db_set_active('boinc_rw'); | |
| 930 | - $host_deleted = db_query( | |
| 928 | + // Delete the host record | |
| 929 | +        db_set_active('boinc_rw'); | |
| 930 | + $host_deleted = db_query( | |
| 931 | 931 |          "DELETE FROM {host} WHERE id = '%d'", | 
| 932 | 932 | $host_id | 
| 933 | - ); | |
| 934 | -      db_set_active('default'); | |
| 935 | -      if ($host_deleted) { | |
| 933 | + ); | |
| 934 | +        db_set_active('default'); | |
| 935 | +        if ($host_deleted) { | |
| 936 | 936 |          drupal_set_message(t('Host @id has been removed from your account.', | 
| 937 | -          array('@id' => $host_id))); | |
| 937 | +            array('@id' => $host_id))); | |
| 938 | 938 |          drupal_goto('account/computers'); | 
| 939 | - } | |
| 940 | -      else { | |
| 939 | + } | |
| 940 | +        else { | |
| 941 | 941 |          drupal_set_message(t('Host @id could not be deleted. Not sure why...', | 
| 942 | -          array('@id' => $host_id)), 'error' | |
| 942 | +            array('@id' => $host_id)), 'error' | |
| 943 | 943 | ); | 
| 944 | - } | |
| 944 | + } | |
| 945 | 945 | } | 
| 946 | 946 |      else { | 
| 947 | -      drupal_set_message(t('Host @id cannot be deleted because it still has | |
| 947 | +        drupal_set_message(t('Host @id cannot be deleted because it still has | |
| 948 | 948 | tasks associated with it. These tasks should be processed within the | 
| 949 | 949 | next few days, after which the host can be deleted.', | 
| 950 | 950 |          array('@id' => $host_id)), 'warning' | 
| 951 | - ); | |
| 951 | + ); | |
| 952 | + } | |
| 952 | 953 | } | 
| 953 | - } | |
| 954 | -  else { | |
| 954 | +    else { | |
| 955 | 955 |      drupal_set_message(t('You are not the owner of host @id, so you cannot | 
| 956 | 956 | delete it.', | 
| 957 | -      array('@id' => $host_id)), 'error' | |
| 957 | +        array('@id' => $host_id)), 'error' | |
| 958 | 958 | ); | 
| 959 | - } | |
| 960 | -  drupal_goto("host/{$host_id}"); | |
| 959 | + } | |
| 960 | +    drupal_goto("host/{$host_id}"); | |
| 961 | 961 | } | 
| 962 | 962 | |
| 963 | 963 | /** | 
| @@ -965,55 +965,55 @@ discard block | ||
| 965 | 965 | * Called when user accesses the log for a host | 
| 966 | 966 | */ | 
| 967 | 967 |  function boincwork_host_log($host_id = null) { | 
| 968 | -  $root_log_dir = variable_get('boinc_host_sched_logs_dir', ''); | |
| 969 | - $log = ''; | |
| 970 | -  if ($root_log_dir AND $host_id) { | |
| 968 | +    $root_log_dir = variable_get('boinc_host_sched_logs_dir', ''); | |
| 969 | + $log = ''; | |
| 970 | +    if ($root_log_dir AND $host_id) { | |
| 971 | 971 | $subdir = substr($host_id, 0, -3) OR $subdir = 0; | 
| 972 | 972 |      $log = implode('/', array($root_log_dir, $subdir, $host_id)); | 
| 973 | - } | |
| 974 | -  if ($log AND file_exists($log)) { | |
| 973 | + } | |
| 974 | +    if ($log AND file_exists($log)) { | |
| 975 | 975 |      header('Content-type: text/plain'); | 
| 976 | 976 | include($log); | 
| 977 | - } | |
| 977 | + } | |
| 978 | 978 | } | 
| 979 | 979 | |
| 980 | 980 |  function boincwork_host_set_venue($host_id = NULL, $venue = NULL) { | 
| 981 | - global $user; | |
| 982 | - $account = user_load($user->uid); | |
| 983 | -  db_set_active('boinc_ro'); | |
| 984 | - // Verify that this is my host | |
| 985 | - $host_owner = db_result(db_query( | |
| 981 | + global $user; | |
| 982 | + $account = user_load($user->uid); | |
| 983 | +    db_set_active('boinc_ro'); | |
| 984 | + // Verify that this is my host | |
| 985 | + $host_owner = db_result(db_query( | |
| 986 | 986 |      "SELECT userid FROM {host} WHERE id = '%d'", | 
| 987 | 987 | $host_id | 
| 988 | - )); | |
| 989 | -  db_set_active('default'); | |
| 990 | -  if ($host_owner AND $host_owner == $account->boincuser_id) { | |
| 988 | + )); | |
| 989 | +    db_set_active('default'); | |
| 990 | +    if ($host_owner AND $host_owner == $account->boincuser_id) { | |
| 991 | 991 |      db_set_active('boinc_rw'); | 
| 992 | 992 | $updated = db_query( | 
| 993 | -      "UPDATE {host} SET venue = '%s' WHERE id = '%d'", | |
| 994 | - $venue, $host_id | |
| 993 | +        "UPDATE {host} SET venue = '%s' WHERE id = '%d'", | |
| 994 | + $venue, $host_id | |
| 995 | 995 | ); | 
| 996 | 996 |      db_set_active('default'); | 
| 997 | 997 |      if ($updated) { | 
| 998 | - drupal_set_message( | |
| 998 | + drupal_set_message( | |
| 999 | 999 |          bts('The location for this host has been updated.', array(), NULL, 'boinc:account-host-details') | 
| 1000 | 1000 |          . bts('This will take effect next time the host contacts the project.', array(), NULL, 'boinc:account-host-details') | 
| 1001 | - ); | |
| 1001 | + ); | |
| 1002 | 1002 | } | 
| 1003 | 1003 |      else { | 
| 1004 | - drupal_set_message( | |
| 1004 | + drupal_set_message( | |
| 1005 | 1005 |          bts('Unable to save changes to this host for some reason!', array(), NULL, 'boinc:account-host-details'), | 
| 1006 | 1006 | 'error' | 
| 1007 | - ); | |
| 1007 | + ); | |
| 1008 | 1008 | } | 
| 1009 | - } | |
| 1010 | -  else { | |
| 1009 | + } | |
| 1010 | +    else { | |
| 1011 | 1011 | drupal_set_message( | 
| 1012 | -      bts('You are not allowed to make changes to this host.', array(), NULL, 'boinc:account-host-details'), | |
| 1013 | - 'warning' | |
| 1012 | +        bts('You are not allowed to make changes to this host.', array(), NULL, 'boinc:account-host-details'), | |
| 1013 | + 'warning' | |
| 1014 | 1014 | ); | 
| 1015 | - } | |
| 1016 | -  drupal_goto("host/{$host_id}"); | |
| 1015 | + } | |
| 1016 | +    drupal_goto("host/{$host_id}"); | |
| 1017 | 1017 | } | 
| 1018 | 1018 | |
| 1019 | 1019 | /** | 
| @@ -1021,8 +1021,8 @@ discard block | ||
| 1021 | 1021 | * Called when user accesses cell phone stats | 
| 1022 | 1022 | */ | 
| 1023 | 1023 |  function boincwork_mobile_stats($userid = null) { | 
| 1024 | - $_GET['id'] = $userid; | |
| 1025 | -  include_boinc('user/userw.php'); | |
| 1024 | + $_GET['id'] = $userid; | |
| 1025 | +    include_boinc('user/userw.php'); | |
| 1026 | 1026 | } | 
| 1027 | 1027 | |
| 1028 | 1028 | /** | 
| @@ -1030,7 +1030,7 @@ discard block | ||
| 1030 | 1030 | * Called to build the server status page | 
| 1031 | 1031 | */ | 
| 1032 | 1032 |  function boincwork_server_status() { | 
| 1033 | -  include_boinc('user/server_status.php'); | |
| 1033 | +    include_boinc('user/server_status.php'); | |
| 1034 | 1034 | } | 
| 1035 | 1035 | |
| 1036 | 1036 | /** | 
| @@ -1038,7 +1038,7 @@ discard block | ||
| 1038 | 1038 | * RPC for managing job input files | 
| 1039 | 1039 | */ | 
| 1040 | 1040 |  function boincwork_job_file() { | 
| 1041 | -  include_boinc('user/job_file.php'); | |
| 1041 | +    include_boinc('user/job_file.php'); | |
| 1042 | 1042 | } | 
| 1043 | 1043 | |
| 1044 | 1044 | /** | 
| @@ -1046,7 +1046,7 @@ discard block | ||
| 1046 | 1046 | * Get output file from remote job submission | 
| 1047 | 1047 | */ | 
| 1048 | 1048 |  function boincwork_get_output() { | 
| 1049 | -  include_boinc('user/get_output.php'); | |
| 1049 | +    include_boinc('user/get_output.php'); | |
| 1050 | 1050 | } | 
| 1051 | 1051 | |
| 1052 | 1052 | /** | 
| @@ -1054,28 +1054,28 @@ discard block | ||
| 1054 | 1054 | * Get the project configuration XML; used by client software | 
| 1055 | 1055 | */ | 
| 1056 | 1056 |  function boincwork_get_project_config() { | 
| 1057 | - ob_start(); | |
| 1058 | -  include_boinc('user/get_project_config.php'); | |
| 1059 | - $xml = ob_get_clean(); | |
| 1060 | - $xml = load_configuration($xml); | |
| 1061 | - | |
| 1062 | - // obtain Drupal variables | |
| 1063 | -  $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); | |
| 1064 | -  $overrideboinctou = variable_get('boinc_weboptions_overrideboinctou', FALSE); | |
| 1065 | - | |
| 1066 | - // If terms of use string exists and override is true, set terms-of-use | |
| 1067 | - // to Drupal varaible. | |
| 1068 | -  if ( (!empty($termsofuse) && ($overrideboinctou)) ) { | |
| 1057 | + ob_start(); | |
| 1058 | +    include_boinc('user/get_project_config.php'); | |
| 1059 | + $xml = ob_get_clean(); | |
| 1060 | + $xml = load_configuration($xml); | |
| 1061 | + | |
| 1062 | + // obtain Drupal variables | |
| 1063 | +    $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); | |
| 1064 | +    $overrideboinctou = variable_get('boinc_weboptions_overrideboinctou', FALSE); | |
| 1065 | + | |
| 1066 | + // If terms of use string exists and override is true, set terms-of-use | |
| 1067 | + // to Drupal varaible. | |
| 1068 | +    if ( (!empty($termsofuse) && ($overrideboinctou)) ) { | |
| 1069 | 1069 |      if (!empty($xml['project_config']['terms_of_use'])) { | 
| 1070 | - // Remove any existing terms of use | |
| 1071 | - unset($xml['project_config']['terms_of_use']); | |
| 1070 | + // Remove any existing terms of use | |
| 1071 | + unset($xml['project_config']['terms_of_use']); | |
| 1072 | 1072 | } | 
| 1073 | 1073 | |
| 1074 | 1074 | // Add terms of use from Drupal | 
| 1075 | 1075 | $xml['project_config']['terms_of_use']['@value'] = $termsofuse; | 
| 1076 | - } | |
| 1076 | + } | |
| 1077 | 1077 | |
| 1078 | - print save_configuration($xml); | |
| 1078 | + print save_configuration($xml); | |
| 1079 | 1079 | } | 
| 1080 | 1080 | |
| 1081 | 1081 | |
| @@ -1083,16 +1083,16 @@ discard block | ||
| 1083 | 1083 | * Page callback for the remote job submission RPC (submit_rpc_handler.php). | 
| 1084 | 1084 | */ | 
| 1085 | 1085 |  function boincwork_submit_rpc_handler() { | 
| 1086 | -  include_boinc('user/submit_rpc_handler.php'); | |
| 1086 | +    include_boinc('user/submit_rpc_handler.php'); | |
| 1087 | 1087 | } | 
| 1088 | 1088 | |
| 1089 | 1089 | /** | 
| 1090 | 1090 | * Page callback for user WAP (userw.php). | 
| 1091 | 1091 | */ | 
| 1092 | 1092 |  function boincwork_user_wap() { | 
| 1093 | - // Remove q from the GET request or BOINC will panic | |
| 1094 | - unset($_GET['q']); | |
| 1095 | -  include_boinc('user/userw.php'); | |
| 1093 | + // Remove q from the GET request or BOINC will panic | |
| 1094 | + unset($_GET['q']); | |
| 1095 | +    include_boinc('user/userw.php'); | |
| 1096 | 1096 | } | 
| 1097 | 1097 | |
| 1098 | 1098 | |
| @@ -1100,44 +1100,44 @@ discard block | ||
| 1100 | 1100 | * Page callback for user account task table | 
| 1101 | 1101 | */ | 
| 1102 | 1102 |  function boincwork_account_task_table($tselect = NULL, $app_id = NULL) { | 
| 1103 | -  $title = bts('Tasks for your account', array(), NULL, 'boinc:account-task-table'); | |
| 1104 | - drupal_set_title($title); | |
| 1103 | +    $title = bts('Tasks for your account', array(), NULL, 'boinc:account-task-table'); | |
| 1104 | + drupal_set_title($title); | |
| 1105 | 1105 | |
| 1106 | - global $user; | |
| 1107 | - $account = user_load($user->uid); | |
| 1108 | - return boincwork_tasktable(0, $account->boincuser_id, $tselect, $app_id); | |
| 1106 | + global $user; | |
| 1107 | + $account = user_load($user->uid); | |
| 1108 | + return boincwork_tasktable(0, $account->boincuser_id, $tselect, $app_id); | |
| 1109 | 1109 | } | 
| 1110 | 1110 | |
| 1111 | 1111 | /** | 
| 1112 | 1112 | * Page callback for host task table | 
| 1113 | 1113 | */ | 
| 1114 | 1114 |  function boincwork_host_task_table($host_id = NULL, $tselect = NULL, $app_id = NULL) { | 
| 1115 | -  require_boinc( array('util', 'result') ); | |
| 1115 | +    require_boinc( array('util', 'result') ); | |
| 1116 | 1116 | |
| 1117 | -  $title = bts('Tasks for computer @host_id', array('@host_id' => $host_id), NULL, 'boinc:host-task-table'); | |
| 1118 | - drupal_set_title($title); | |
| 1117 | +    $title = bts('Tasks for computer @host_id', array('@host_id' => $host_id), NULL, 'boinc:host-task-table'); | |
| 1118 | + drupal_set_title($title); | |
| 1119 | 1119 | |
| 1120 | -  if (is_null($host_id)) { | |
| 1120 | +    if (is_null($host_id)) { | |
| 1121 | 1121 |      drupal_set_message(bts('ERROR: Invalid host ID', array(), NULL, 'boinc:host-task-table'), 'error'); | 
| 1122 | 1122 | return ''; | 
| 1123 | - } | |
| 1123 | + } | |
| 1124 | 1124 | |
| 1125 | - return boincwork_tasktable(2, $host_id, $tselect, $app_id); | |
| 1125 | + return boincwork_tasktable(2, $host_id, $tselect, $app_id); | |
| 1126 | 1126 | } | 
| 1127 | 1127 | |
| 1128 | 1128 | /** | 
| 1129 | 1129 | * Page callback for workunit task table | 
| 1130 | 1130 | */ | 
| 1131 | 1131 |  function boincwork_workunit_task_table($workunit_id = NULL, $tselect = NULL, $app_id = NULL) { | 
| 1132 | -  $title = bts('Tasks for workunit @workunit_id', array('@workunit_id' => $workunit_id), NULL, 'boinc:workunit-task-table'); | |
| 1133 | - drupal_set_title($title); | |
| 1132 | +    $title = bts('Tasks for workunit @workunit_id', array('@workunit_id' => $workunit_id), NULL, 'boinc:workunit-task-table'); | |
| 1133 | + drupal_set_title($title); | |
| 1134 | 1134 | |
| 1135 | -  if (is_null($workunit_id)) { | |
| 1135 | +    if (is_null($workunit_id)) { | |
| 1136 | 1136 |      drupal_set_message(bts('ERROR: Invalid workunit ID', array(), NULL, 'boinc:workunit-task-table'), 'error'); | 
| 1137 | 1137 | return ''; | 
| 1138 | - } | |
| 1138 | + } | |
| 1139 | 1139 | |
| 1140 | - return boincwork_tasktable(1, $workunit_id, $tselect, $app_id); | |
| 1140 | + return boincwork_tasktable(1, $workunit_id, $tselect, $app_id); | |
| 1141 | 1141 | } | 
| 1142 | 1142 | |
| 1143 | 1143 | /** | 
| @@ -1145,8 +1145,8 @@ discard block | ||
| 1145 | 1145 | * Take a node ID and render that node as a page | 
| 1146 | 1146 | */ | 
| 1147 | 1147 |  function boincwork_view_page($nid) { | 
| 1148 | - $node = node_load($nid); | |
| 1149 | - return node_page_view($node); | |
| 1148 | + $node = node_load($nid); | |
| 1149 | + return node_page_view($node); | |
| 1150 | 1150 | } | 
| 1151 | 1151 | |
| 1152 | 1152 | |
| @@ -1158,16 +1158,16 @@ discard block | ||
| 1158 | 1158 | * Determine which venue should be selected | 
| 1159 | 1159 | */ | 
| 1160 | 1160 |  function boincwork_select_venue(&$venue) { | 
| 1161 | -  if (!$venue) { | |
| 1161 | +    if (!$venue) { | |
| 1162 | 1162 | $active_venue = isset($_SESSION['prefs venue']) ? $_SESSION['prefs venue'] : NULL; | 
| 1163 | 1163 |      if ($active_venue) { | 
| 1164 | - $venue = $active_venue; | |
| 1165 | - //unset($_SESSION['prefs venue']); | |
| 1164 | + $venue = $active_venue; | |
| 1165 | + //unset($_SESSION['prefs venue']); | |
| 1166 | + } | |
| 1166 | 1167 | } | 
| 1167 | - } | |
| 1168 | -  else { | |
| 1168 | +    else { | |
| 1169 | 1169 | // Set the active venue to keep it selected between computing and project | 
| 1170 | 1170 | // preference pages | 
| 1171 | 1171 | $_SESSION['prefs venue'] = $venue; | 
| 1172 | - } | |
| 1172 | + } | |
| 1173 | 1173 | } |