| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Themeable function callbacks for diff.module.
 
-  */
 
- /**
 
-  * Theme function to display the revisions formular.
 
-  */
 
- function theme_diff_node_revisions($vars) {
 
-   $form = $vars['form'];
 
-   $output = '';
 
-   // Overview table:
 
-   $header = array(
 
-     t('Revision'),
 
-     array('data' => drupal_render($form['submit']), 'colspan' => 2),
 
-     array('data' => t('Operations'), 'colspan' => 2),
 
-   );
 
-   if (isset($form['info']) && is_array($form['info'])) {
 
-     foreach (element_children($form['info']) as $key) {
 
-       $row = array();
 
-       if (isset($form['operations'][$key][0])) {
 
-         // Note: even if the commands for revert and delete are not permitted,
 
-         // the array is not empty since we set a dummy in this case.
 
-         $row[] = drupal_render($form['info'][$key]);
 
-         $row[] = drupal_render($form['diff']['old'][$key]);
 
-         $row[] = drupal_render($form['diff']['new'][$key]);
 
-         $row[] = drupal_render($form['operations'][$key][0]);
 
-         $row[] = drupal_render($form['operations'][$key][1]);
 
-         $rows[] = array(
 
-           'data' => $row,
 
-           'class' => array('diff-revision'),
 
-         );
 
-       }
 
-       else {
 
-         // The current revision (no commands to revert or delete).
 
-         $row[] = array(
 
-           'data' => drupal_render($form['info'][$key]),
 
-           'class' => array('revision-current'),
 
-         );
 
-         $row[] = array(
 
-           'data' => drupal_render($form['diff']['old'][$key]),
 
-           'class' => array('revision-current'),
 
-         );
 
-         $row[] = array(
 
-           'data' => drupal_render($form['diff']['new'][$key]),
 
-           'class' => array('revision-current'),
 
-         );
 
-         $row[] = array(
 
-           'data' => t('current revision'),
 
-           'class' => array('revision-current'),
 
-           'colspan' => '2',
 
-         );
 
-         $rows[] = array(
 
-           'data' => $row,
 
-           'class' => array('error diff-revision'),
 
-         );
 
-       }
 
-     }
 
-   }
 
-   $output .= theme('table__diff__revisions', array(
 
-     'header' => $header,
 
-     'rows' => $rows,
 
-     'sticky' => FALSE,
 
-     'attributes' => array('class' => 'diff-revisions'),
 
-   ));
 
-   $output .= drupal_render_children($form);
 
-   return $output;
 
- }
 
- /**
 
-  * Theme functions
 
-  */
 
- /**
 
-  * Theme function for a header line in the diff.
 
-  */
 
- function theme_diff_header_line($vars) {
 
-   return '<strong>' . t('Line @lineno', array('@lineno' => $vars['lineno'])) . '</strong>';
 
- }
 
- /**
 
-  * Theme function for a content line in the diff.
 
-  */
 
- function theme_diff_content_line($vars) {
 
-   return '<div>' . $vars['line'] . '</div>';
 
- }
 
- /**
 
-  * Theme function for an empty line in the diff.
 
-  */
 
- function theme_diff_empty_line($vars) {
 
-   return $vars['line'];
 
- }
 
- /**
 
-  * Theme function for inline diff form.
 
-  */
 
- function theme_diff_inline_form($vars) {
 
-   if ($theme = variable_get('diff_theme', 'default')) {
 
-     drupal_add_css(drupal_get_path('module', 'diff') . "/css/diff.{$theme}.css");
 
-   }
 
-   return drupal_render_children($vars['form']);
 
- }
 
- /**
 
-  * Display inline diff metadata.
 
-  */
 
- function theme_diff_inline_metadata($vars) {
 
-   if ($theme = variable_get('diff_theme', 'default')) {
 
-     drupal_add_css(drupal_get_path('module', 'diff') . "/css/diff.{$theme}.css");
 
-   }
 
-   $node = $vars['node'];
 
-   $output = "<div class='diff-inline-metadata clear-block'>";
 
-   $output .= "<div class='diff-inline-byline'>";
 
-   $output .= t('Updated by !name on @date', array(
 
-     '!name' => theme('username', array('account' => user_load($node->revision_uid))),
 
-     '@date' => format_date($node->revision_timestamp, 'small'),
 
-   ));
 
-   $output .= "</div>";
 
-   $output .= "<div class='diff-inline-legend clear-block'>";
 
-   $output .= "<label>" . t('Legend') . "</label>";
 
-   $output .= theme('diff_inline_chunk', array('text' => t('Added'), 'type' => 'add'));
 
-   $output .= theme('diff_inline_chunk', array('text' => t('Changed'), 'type' => 'change'));
 
-   $output .= theme('diff_inline_chunk', array('text' => t('Deleted'), 'type' => 'delete'));
 
-   $output .= "</div>";
 
-   $output .= "</div>";
 
-   return $output;
 
- }
 
- /**
 
-  * Theme a span of changed text in an inline diff display.
 
-  */
 
- function theme_diff_inline_chunk($vars) {
 
-   switch ($vars['type']) {
 
-     case 'add':
 
-       return "<span class='diff-added'>{$vars['text']}</span>";
 
-     case 'change':
 
-       return "<span class='diff-changed'>{$vars['text']}</span>";
 
-     case 'delete':
 
-       return "<span class='diff-deleted'>{$vars['text']}</span>";
 
-     default:
 
-       return $vars['text'];
 
-   }
 
- }
 
 
  |