You are here

function views_revisions_revision_page in Views Revisions 7

Same name and namespace in other branches
  1. 6 views_revisions.module \views_revisions_revision_page()

Page callback function for the views revisions revision page.

1 string reference to 'views_revisions_revision_page'
views_revisions_menu in ./views_revisions.module
Implements hook_menu().

File

./views_revisions.module, line 155
A module to provide revisions of Views.

Code

function views_revisions_revision_page($vrvid) {
  $html = '';
  $revision = db_query("SELECT vr.vrvid, vr.vid, vr.uid, vr.created, vr.log, vr.data, u.name, vv.name as view_name\n    FROM {views_revisions} vr\n    LEFT OUTER JOIN {users} u ON vr.uid = u.uid\n    INNER JOIN {views_view} vv ON vr.vid = vv.vid\n    WHERE vrvid = :vrvid", array(
    'vrvid' => $vrvid,
  ))
    ->fetch();
  $header = array(
    array(
      "data" => t('User'),
    ),
    array(
      "data" => t('Message'),
    ),
    array(
      "data" => t('Created'),
    ),
    array(),
  );
  $rows = array(
    array(
      l($revision->name, "user/{$revision->uid}"),
      filter_xss($revision->log),
      format_date($revision->created, 'custom', 'Y-m-d H:i:s'),
      l(t('Edit message'), "admin/structure/views/revisions/revision/" . $revision->vrvid . "/edit"),
    ),
  );
  $table = theme('table', array(
    'header' => $header,
    'rows' => $rows,
  ));
  $textarea = array(
    'element' => array(
      '#id' => 'views_revisions_data',
      '#value' => $revision->data,
      '#rows' => 32,
      '#attributes' => array(
        'onclick' => 'javascript:this.select();',
      ),
    ),
  );
  $html .= "<h2>{$revision->view_name}</h2>" . '<p>' . l('View', "admin/structure/views/view/{$revision->view_name}") . ' &raquo; ' . l('Revisions', "admin/structure/views/revisions/{$revision->view_name}") . ' &raquo;' . '</p>' . $table . '<p>' . l('Go to Import Page', 'admin/structure/views/import') . '</p>' . '<label for="views_revisions_data">' . t('Ctools export data before revision was made') . ':</label>' . theme('textarea', $textarea);
  return $html;
}