00001 <?php
00008 class TKCSERDClassicReviewSet extends TKNullBox {
00009
00010 const SHOW_CATALOG_ITEMS = 'showCatalogItems';
00011 private $showCatalogItems = false;
00012
00020 public function __construct($reviews, $params = array()) {
00021 parent::__construct();
00022 if (isset($params[self::SHOW_CATALOG_ITEMS]) && $params[self::SHOW_CATALOG_ITEMS])
00023 $this->showCatalogItems = true;
00024
00025 $reviewString = (count($reviews) == 1) ? 'Review' : 'Reviews';
00026 $reviewString = count($reviews) . ' ' . $reviewString;
00027 if (isset($params['title']))
00028 $title = $params['title'];
00029 else
00030 $title = $reviewString;
00031 $headerBox = new TKHBox();
00032 $titleLabel = new TKLabel($title );
00033 $headerBox->set('class', array('pageSectionTitle'));
00034 $headerBox->add($titleLabel);
00035 $averageReviewRating = '';
00036 if (isset($params['averageReviewRating'])) {
00037 $averageReviewRating = $params['averageReviewRating'];
00038 $headerBox->addLabel(SDRHelpers::getRatingImageTag($averageReviewRating), array('style'=>array('margin-left'=>'5px')));
00039 }
00040 $ratingText = $headerBox->addLabel(SDRHelpers::getRatingText($averageReviewRating).' (' . $reviewString . ')');
00041 $ratingText->class = 'ratingText';
00042
00043 $this->add($headerBox);
00044 $this->layoutReviewSet($reviews, $params);
00045 }
00046
00051 protected function layoutReviewSet($reviews, $params) {
00052 global $PATH;
00053
00054 $lastItem = null;
00055 foreach($reviews as $r) {
00056 if ($this->showCatalogItems)
00057 if ($r->cserdId != $lastItem) {
00058 $cserdId = $r->cserdId;
00059 $resource = SDRHelpers::getResourceFromSDR($cserdId);
00060 if($resource == null) {
00061 print("ERROR: could not load resource for cserdId $cserdId");
00062 return;
00063 }$metadata = $resource->metadata;
00064 $title = $metadata->Title[0];
00065
00066 $this->addLabel("<b>For <a href='$PATH[catalog]$cserdId'>$title</a>:</b>");
00067 }
00068 $tkr = new TKCSERDClassicReview($r, $params);
00069 $this->add($tkr);
00070 }
00071 }
00072 }
00073 ?>