• Main Page
  • Modules
  • Classes
  • Files
  • File List

controllers/grid/users/reviewerSelect/ReviewerSelectGridCellProvider.inc.php

00001 <?php
00002 
00015 import('lib.pkp.classes.controllers.grid.DataObjectGridCellProvider');
00016 
00017 class ReviewerSelectGridCellProvider extends DataObjectGridCellProvider {
00021    function ReviewerSelectGridCellProvider() {
00022       parent::DataObjectGridCellProvider();
00023    }
00024 
00025    //
00026    // Template methods from GridCellProvider
00027    //
00035    function getTemplateVarsFromRowColumn(&$row, $column) {
00036       $element =& $row->getData();
00037       $columnId = $column->getId();
00038       $reviewerStats = $row->getReviewerStats($row->getId());
00039 
00040       assert(is_a($element, 'User') && !empty($columnId));
00041       switch ($columnId) {
00042          case 'select': // Displays the radio option
00043             return array('rowId' => $row->getId());
00044          case 'name': // Reviewer's name
00045             return array('label' => $element->getFullName());
00046          case 'done': // # of reviews completed
00047             return array('label' => isset($reviewerStats['completed_review_count']) ? $reviewerStats['completed_review_count'] : '--');
00048          case 'avg': // Average period of time in days to complete a review
00049             return array('label' => isset($reviewerStats['average_span']) ? round($reviewerStats['average_span']) : '--');
00050          case 'last': // Days since most recently completed review
00051             if (isset($reviewerStats['last_notified'])) {
00052                $formattedDate = strftime('%b %e', strtotime($reviewerStats['last_notified']));
00053                return array('label' => $formattedDate);
00054             } else return array('label' => '--');
00055          case 'active': // How many reviews are currently being considered or underway
00056             return array('label' => isset($reviewerStats['incomplete']) ? $reviewerStats['incomplete'] : '--');
00057          case 'interests': // Reviewing interests
00058             return array('label' => $element->getInterestString());
00059       }
00060    }
00061 }
00062 
00063 ?>

Generated on Mon Sep 17 2012 13:58:56 for Open Monograph Press by  doxygen 1.7.1