Author: sevein
Date: Sat Apr 28 21:52:23 2012
New Revision: 11543

Log:
Show facets only when necessary, check if some array items from ES are set to 
avoid PHP warnings

Modified:
   branches/2.0/apps/qubit/modules/search/templates/_searchResults.php

Modified: branches/2.0/apps/qubit/modules/search/templates/_searchResults.php
==============================================================================
--- branches/2.0/apps/qubit/modules/search/templates/_searchResults.php Sat Apr 
28 21:51:23 2012        (r11542)
+++ branches/2.0/apps/qubit/modules/search/templates/_searchResults.php Sat Apr 
28 21:52:23 2012        (r11543)
@@ -18,6 +18,8 @@
 
   </div>
 
+  <?php if (sfConfig::get('app_multi_repository')): ?>
+
   <div class="row">
 
     <div class="span12" id="top-facet">
@@ -38,135 +40,145 @@
             <h2 class="filltext"><?php echo link_to(__($term['term']), 
array('repository_id' => $id, 'page' => null) + 
$sf_request->getParameterHolder()->getAll()) ?></h2>
           </div>
 
-          <?php if ($i >= $numNav) break; ?>
+          <?php if ($i >= $numNav) break ?>
         <?php endforeach; ?>
 
       </div>
 
-      <?php if (count($pager->facets['repository_id']['terms']) > $numNav): ?>
+      <div id="more-institutions" class="clearfix pull-right">
 
-        <div id="more-institutions" class="clearfix pull-right">
-          <select id="respository" data-placeholder="22 more institutions with 
results" class="chzn-select" style="width:400px;" tabindex="2">
-            <option value="" selected="selected"><?php echo __('%1% more 
institutions with results', array('%1%' => 
count($pager->facets['repository_id']['terms']) - $numNav)) ?></option>
-            <?php $i = 0; ?>
-            <?php foreach($pager->facets['repository_id']['terms'] as $id => 
$term): ?>
-              <?php $i++; ?>
-              <?php if ($i <= $numNav) continue; ?>
-              <option value="<?php echo $id; ?>"><?php echo __($term['term']) 
?></option>
-            <?php endforeach; ?>
-          </select>
-        </div>
+        <select id="respository" data-placeholder="22 more institutions with 
results" class="chzn-select" style="width:400px;" tabindex="2">
+          <option value="" selected="selected"><?php echo __('%1% more 
institutions with results', array('%1%' => 
count($pager->facets['repository_id']['terms']) - $numNav)) ?></option>
+          <?php $i = 0; ?>
+          <?php foreach($pager->facets['repository_id']['terms'] as $id => 
$term): ?>
+            <?php $i++; ?>
+            <?php if ($i <= $numNav) continue; ?>
+            <option value="<?php echo $id; ?>"><?php echo __($term['term']) 
?></option>
+          <?php endforeach; ?>
+        </select>
 
-      <?php endif; ?>
+      </div>
 
     </div>
 
-  </div>
+  <?php endif; ?>
 
   <div class="row">
 
-    <div class="span3" id="facets">
+    <?php if (!isset($hideFacets)): ?>
 
-      <div class="section">
+      <div class="span3" id="facets">
 
-        <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#subjects"><?php echo __('Subject') ?></h2>
+        <?php if (isset($pager->facets['subjects_id'])): ?>
+          <div class="section">
 
-        <h2 class="hidden-phone"><?php echo __('Subject') ?></h2>
-
-        <div class="scrollable" id="subjects">
-          <ul>
-            <li <?php if ('' == $sf_request->getParameter('subjects_id')) echo 
'class="active"'; ?>><?php echo link_to(__('All'), array('subjects_id' => null, 
'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php foreach($pager->facets['subjects_id']['terms'] as $id => 
$term): ?>
-              <li <?php if (in_array($id, $filters['subjects_id'])) echo 
'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', 
array('subjects_id' => ($filters['subjects_id'] ? implode(',', 
array_diff(array_merge($filters['subjects_id'], array($id)), 
array_intersect($filters['subjects_id'], array($id)))) : $id), 'page' => null) 
+ $sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php endforeach; ?>
-          </ul>
-        </div>
-
-      </div>
+            <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#subjects"><?php echo __('Subject') ?></h2>
+            <h2 class="hidden-phone"><?php echo __('Subject') ?></h2>
+
+            <div class="scrollable" id="subjects">
+              <ul>
+                <li <?php if ('' == $sf_request->getParameter('subjects_id')) 
echo 'class="active"'; ?>><?php echo link_to(__('All'), array('subjects_id' => 
null, 'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php foreach($pager->facets['subjects_id']['terms'] as $id => 
$term): ?>
+                  <li <?php if (in_array($id, $filters['subjects_id'])) echo 
'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', 
array('subjects_id' => ($filters['subjects_id'] ? implode(',', 
array_diff(array_merge($filters['subjects_id'], array($id)), 
array_intersect($filters['subjects_id'], array($id)))) : $id), 'page' => null) 
+ $sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php endforeach; ?>
+              </ul>
+            </div>
 
-      <div class="section">
+          </div>
+        <?php endif; ?>
 
-        <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#mediatypes"><?php echo __('Media Type') ?></h2>
+        <?php if (isset($pager->facets['digitalObject_mediaTypeId'])): ?>
+          <div class="section">
 
-        <h2 class="hidden-phone"><?php echo __('Media Type') ?></h2>
+            <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#mediatypes"><?php echo __('Media Type') ?></h2>
+            <h2 class="hidden-phone"><?php echo __('Media Type') ?></h2>
 
-        <div class="scrollable" id="mediatypes">
-          <ul>
-            <li <?php if ('' == 
$sf_request->getParameter('digitalObject_mediaTypeId')) echo 'class="active"'; 
?>><?php echo link_to(__('All'), array('digitalObject_mediaTypeId' => null, 
'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php foreach($pager->facets['digitalObject_mediaTypeId']['terms'] 
as $id => $term): ?>
-              <li <?php if (in_array($id, 
$filters['digitalObject_mediaTypeId'])) echo 'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', 
array('digitalObject_mediaTypeId' => ($filters['digitalObject_mediaTypeId'] ? 
implode(',', array_diff(array_merge($filters['digitalObject_mediaTypeId'], 
array($id)), array_intersect($filters['digitalObject_mediaTypeId'], 
array($id)))) : $id), 'page' => null) + 
$sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php endforeach; ?>
-          </ul>
-        </div>
+            <div class="scrollable" id="mediatypes">
+              <ul>
+                <li <?php if ('' == 
$sf_request->getParameter('digitalObject_mediaTypeId')) echo 'class="active"'; 
?>><?php echo link_to(__('All'), array('digitalObject_mediaTypeId' => null, 
'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php 
foreach($pager->facets['digitalObject_mediaTypeId']['terms'] as $id => $term): 
?>
+                  <li <?php if (in_array($id, 
$filters['digitalObject_mediaTypeId'])) echo 'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', 
array('digitalObject_mediaTypeId' => ($filters['digitalObject_mediaTypeId'] ? 
implode(',', array_diff(array_merge($filters['digitalObject_mediaTypeId'], 
array($id)), array_intersect($filters['digitalObject_mediaTypeId'], 
array($id)))) : $id), 'page' => null) + 
$sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php endforeach; ?>
+              </ul>
+            </div>
 
-      </div>
+          </div>
+        <?php endif; ?>
 
-      <div class="section">
+        <div class="section">
 
-        <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#dates"><?php echo __('Creation date') ?></h2>
+          <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#dates"><?php echo __('Creation date') ?></h2>
+          <h2 class="hidden-phone"><?php echo __('Creation date') ?></h2>
 
-        <h2 class="hidden-phone"><?php echo __('Creation date') ?></h2>
+          <div class="scrollable dates" id="dates">
+            <input type="text" value="<?php echo 
$pager->facets['dates_startDate']['min'] ?>" name="from" /> - <input 
type="text" value="<?php echo $pager->facets['dates_startDate']['max'] ?>" 
name="to" />
+          </div>
 
-        <div class="scrollable dates" id="dates">
-          <input type="text" value="<?php echo 
$pager->facets['dates_startDate']['min'] ?>" name="from" /> - <input 
type="text" value="<?php echo $pager->facets['dates_startDate']['max'] ?>" 
name="to" />
         </div>
 
-      </div>
+        <?php if (isset($pager->facets['places_id'])): ?>
+          <div class="section">
 
-      <div class="section">
+            <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#places"><?php echo __('Place') ?></h2>
+            <h2 class="hidden-phone"><?php echo __('Place') ?></h2>
 
-        <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#places"><?php echo __('Place') ?></h2>
+            <div class="scrollable" id="places">
+              <ul>
+                <li <?php if ('' == $sf_request->getParameter('places_id')) 
echo 'class="active"'; ?>><?php echo link_to(__('All'), array('places_id' => 
null, 'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php foreach($pager->facets['places_id']['terms'] as $id => 
$term): ?>
+                  <li <?php if (in_array($id, $filters['places_id'])) echo 
'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', array('places_id' 
=> ($filters['places_id'] ? implode(',', 
array_diff(array_merge($filters['places_id'], array($id)), 
array_intersect($filters['places_id'], array($id)))) : $id), 'page' => null) + 
$sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php endforeach; ?>
+              </ul>
+            </div>
 
-        <h2 class="hidden-phone"><?php echo __('Place') ?></h2>
-
-        <div class="scrollable" id="places">
-          <ul>
-            <li <?php if ('' == $sf_request->getParameter('places_id')) echo 
'class="active"'; ?>><?php echo link_to(__('All'), array('places_id' => null, 
'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php foreach($pager->facets['places_id']['terms'] as $id => 
$term): ?>
-              <li <?php if (in_array($id, $filters['places_id'])) echo 
'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', array('places_id' 
=> ($filters['places_id'] ? implode(',', 
array_diff(array_merge($filters['places_id'], array($id)), 
array_intersect($filters['places_id'], array($id)))) : $id), 'page' => null) + 
$sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php endforeach; ?>
-          </ul>
-        </div>
-
-      </div>
-
-      <div class="section">
+          </div>
+        <?php endif; ?>
 
-        <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#names"><?php echo __('Name') ?></h2>
+        <?php if (isset($pager->facets['names_id'])): ?>
+          <div class="section">
 
-        <h2 class="hidden-phone"><?php echo __('Name') ?></h2>
+            <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#names"><?php echo __('Name') ?></h2>
+            <h2 class="hidden-phone"><?php echo __('Name') ?></h2>
 
-        <div class="scrollable" id="names">
-          <ul>
-            <li <?php if ('' == $sf_request->getParameter('names_id')) echo 
'class="active"'; ?>><?php echo link_to(__('All'), array('names_id' => null, 
'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php foreach($pager->facets['names_id']['terms'] as $id => 
$term): ?>
-              <li <?php if (in_array($id, $filters['names_id'])) echo 
'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', array('names_id' 
=> ($filters['names_id'] ? implode(',', 
array_diff(array_merge($filters['names_id'], array($id)), 
array_intersect($filters['names_id'], array($id)))) : $id), 'page' => null) + 
$sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php endforeach; ?>
-          </ul>
-        </div>
+            <div class="scrollable" id="names">
+              <ul>
+                <li <?php if ('' == $sf_request->getParameter('names_id')) 
echo 'class="active"'; ?>><?php echo link_to(__('All'), array('names_id' => 
null, 'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php foreach($pager->facets['names_id']['terms'] as $id => 
$term): ?>
+                  <li <?php if (in_array($id, $filters['names_id'])) echo 
'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', array('names_id' 
=> ($filters['names_id'] ? implode(',', 
array_diff(array_merge($filters['names_id'], array($id)), 
array_intersect($filters['names_id'], array($id)))) : $id), 'page' => null) + 
$sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php endforeach; ?>
+              </ul>
+            </div>
 
-      </div>
+          </div>
+        <?php endif; ?>
 
-      <div class="section">
+        <?php if (isset($pager->facets['i18n_culture'])): ?>
+          <div class="section">
 
-        <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#language"><?php echo __('Language') ?></h2>
+            <h2 class="visible-phone widebtn btn-huge" data-toggle="collapse" 
data-target="#language"><?php echo __('Language') ?></h2>
+            <h2 class="hidden-phone"><?php echo __('Language') ?></h2>
 
-        <h2 class="hidden-phone"><?php echo __('Language') ?></h2>
+            <div class="scrollable" id="languages">
+              <ul>
+                <li <?php if ('' == $sf_request->getParameter('i18n_culture')) 
echo 'class="active"'; ?>><?php echo link_to(__('All'), array('i18n_culture' => 
null, 'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php foreach($pager->facets['i18n_culture']['terms'] as $id 
=> $term): ?>
+                  <li <?php if (in_array($id, $filters['i18n_culture'])) echo 
'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', 
array('i18n_culture' => ($filters['i18n_culture'] ? implode(',', 
array_diff(array_merge($filters['i18n_culture'], array($id)), 
array_intersect($filters['i18n_culture'], array($id)))) : $id), 'page' => null) 
+ $sf_request->getParameterHolder()->getAll()) ?></li>
+                <?php endforeach; ?>
+              </ul>
+            </div>
 
-        <div class="scrollable" id="languages">
-          <ul>
-            <li <?php if ('' == $sf_request->getParameter('i18n_culture')) 
echo 'class="active"'; ?>><?php echo link_to(__('All'), array('i18n_culture' => 
null, 'page' => null) + $sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php foreach($pager->facets['i18n_culture']['terms'] as $id => 
$term): ?>
-              <li <?php if (in_array($id, $filters['i18n_culture'])) echo 
'class="active"'; ?>><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', 
array('i18n_culture' => ($filters['i18n_culture'] ? implode(',', 
array_diff(array_merge($filters['i18n_culture'], array($id)), 
array_intersect($filters['i18n_culture'], array($id)))) : $id), 'page' => null) 
+ $sf_request->getParameterHolder()->getAll()) ?></li>
-            <?php endforeach; ?>
-          </ul>
-        </div>
+          </div>
+        <?php endif; ?>
 
       </div>
 
-    </div>
+    <?php endif; ?>
 
-    <div class="span9" id="content">
+    <?php if (isset($hideFacets)): ?>
+      <div class="span12" id="content">
+    <?php else: ?>
+      <div class="span9" id="content">
+    <?php endif; ?>
 
       <div class="listings">
 

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to