Browse Source

Added tripal daemon admin status block.

Lacey Sanderson 7 năm trước cách đây
mục cha
commit
f49424f41b

+ 82 - 0
tripal_daemon/includes/tripal_daemon.blocks.inc

@@ -0,0 +1,82 @@
+<?php
+/** 
+ * @file
+ * Contains functions related to administrative blocks for daemon monitoring.
+ */
+
+/**
+ * Implements hook_block_info().
+ */
+function tripal_daemon_block_info() {
+  $blocks = array();
+
+  $blocks['tripal_daemon_status'] = array(
+    'info' => t('Tripal Daemon Status'),
+  );
+  
+  return $blocks;
+}
+
+/**
+ * Implements hook_block_view().
+ */
+function tripal_daemon_block_view($delta='') {
+  $block = array();
+
+  switch($delta) {
+    case 'tripal_daemon_status':
+      $is_running = drushd_is_daemon_running('tripal_daemon');
+      $status_class = ($is_running) ? 'active' : 'inactive';
+      $block['subject'] = t('Job Daemon Status');
+      $block['content'] = theme_tripal_daemon_status_block_content();
+      break;
+  }
+  
+  return $block;
+}
+
+/** 
+ *
+ */
+function theme_tripal_daemon_status_block_content() {
+  $output = '';
+
+  // Get information.
+  $is_running = drushd_is_daemon_running('tripal_daemon');
+  $status_file = drushd_get_daemon_status_file('tripal_daemon');
+  $status = unserialize(file_get_contents($status_file));
+
+  $status_class = ($is_running) ? 'active' : 'inactive';
+
+  // Theme content.
+  drupal_add_css(drupal_get_path('module','tripal_daemon') . '/theme/status_block.css');
+
+  $output .= '<div class="daemon-status">';
+  if ($is_running) {
+    $output .= theme_image(array(
+      'path' => 'misc/message-24-ok.png',
+      'alt' => 'status-ok',
+    ));
+    $output .= 'Running';
+  }
+  else {
+    $output .= theme_image(array(
+      'path' => 'misc/message-24-error.png',
+      'alt' => 'status-error',
+    ));
+    $output .= 'Stopped';
+  }
+  $output .= '</div>';
+
+  $output .= '<ul>';
+  foreach ($status as $k => $v) {
+    if (is_bool($v)) {
+      $v = ($v) ? 'True' : 'False';
+    }
+
+    $output .= '<li><strong>' . $k . '</strong>: ' . $v . '</li>';
+  }
+  $output .= '</ul>';
+
+  return '<div class="inner '.$status_class.'">' . $output . '</div>';
+}

+ 29 - 0
tripal_daemon/theme/status_block.css

@@ -0,0 +1,29 @@
+/**
+ * Tripal Daemon Status Block.
+ */
+#dashboard #block-tripal-daemon-tripal-daemon-status div.content,
+  div#block-tripal-daemon-tripal-daemon-status div.content {
+    padding: 0;
+}
+#block-tripal-daemon-tripal-daemon-status div.content div.inner {
+  padding: 15px; 
+}
+#block-tripal-daemon-tripal-daemon-status .active {
+  background-color: #f8fff0; 
+  color: #234600;
+}
+#block-tripal-daemon-tripal-daemon-status .inactive {
+  background-color: #fef5f1;
+  color: #8c2e0b;
+}
+
+#block-tripal-daemon-tripal-daemon-status .daemon-status {
+  font-weight: bolder;
+  font-size: 1.2em;
+  margin-bottom: 15px;
+}
+#block-tripal-daemon-tripal-daemon-status .daemon-status img {
+  top: 6px;
+  position: relative;
+  padding-right: 5px;
+}

+ 2 - 1
tripal_daemon/tripal_daemon.module

@@ -1,10 +1,11 @@
 <?php
-
 /**
  * @file
  * Non-Drush Tripal Daemon functionality.
  */
 
+require_once('includes/tripal_daemon.blocks.inc');
+
 /**
  * Implements hook_daemon_api_info().
  *