public function __set($name, $value)
 {
     switch ($name) {
         case 'ehriCopyrightIssue':
         case 'ehriScope':
         case 'ehriPriority':
             $meta = unserialize($this->_ehriMeta->value);
             $meta[$name] = $value;
             $this->_ehriMeta->value = serialize($meta);
             return $this;
         default:
             return parent::__set($name, $value);
     }
 }
 protected function addField($name)
 {
     switch ($name) {
         case 'type':
             foreach (sfIsadPlugin::eventTypes() as $item) {
                 // Default event type is creation
                 if (QubitTerm::CREATION_ID == $item->id) {
                     $this->form->setDefault('type', $this->context->routing->generate(null, array($item, 'module' => 'term')));
                 }
                 $choices[$this->context->routing->generate(null, array($item, 'module' => 'term'))] = $item->__toString();
             }
             $this->form->setValidator('type', new sfValidatorString());
             $this->form->setWidget('type', new sfWidgetFormSelect(array('choices' => $choices)));
             break;
         default:
             return parent::addField($name);
     }
 }
 public function generateReport($request)
 {
     // Get "file" term in "level of description" taxonomy
     $c2 = new Criteria();
     $c2->addJoin(QubitTerm::ID, QubitTermI18n::ID, Criteria::INNER_JOIN);
     $c2->add(QubitTermI18n::NAME, 'file');
     $c2->add(QubitTermI18n::CULTURE, 'en');
     $c2->add(QubitTerm::TAXONOMY_ID, QubitTaxonomy::LEVEL_OF_DESCRIPTION_ID);
     $lod = QubitTermI18n::getOne($c2);
     if (null === $lod) {
         throw new sfException('Can\'t find "file" level of description in term table');
     }
     $criteria = new Criteria();
     $criteria->add(QubitInformationObject::LFT, $this->resource->lft, Criteria::GREATER_EQUAL);
     $criteria->add(QubitInformationObject::RGT, $this->resource->rgt, Criteria::LESS_EQUAL);
     $criteria->addAscendingOrderByColumn(QubitInformationObject::LFT);
     // Filter drafts
     $criteria = QubitAcl::addFilterDraftsCriteria($criteria);
     $this->results = array();
     $this->resultCount = 0;
     $informationObjects = QubitInformationObject::get($criteria);
     foreach ($informationObjects as $item) {
         if ($lod->id == $item->levelOfDescriptionId) {
             $parentIsad = new sfIsadPlugin($item->parent);
             $isad = new sfIsadPlugin($item);
             $creationDates = self::getCreationDates($item);
             $this->results[$parentIsad->__toString()][] = array('resource' => $item, 'referenceCode' => $isad->referenceCode, 'title' => $item->getTitle(array('cultureFallback' => true)), 'dates' => isset($creationDates) ? Qubit::renderDateStartEnd($creationDates->getDate(array('cultureFallback' => true)), $creationDates->startDate, $creationDates->endDate) : ' ', 'startDate' => isset($creationDates) ? $creationDates->startDate : null, 'accessConditions' => $item->getAccessConditions(array('cultureFallback' => true)), 'locations' => self::getLocationString($item));
             $this->resultCount++;
         }
     }
     // Sort items by selected criteria
     $sortBy = $this->form->getValue('sortBy');
     foreach ($this->results as $key => &$items) {
         uasort($items, function ($a, $b) use($sortBy) {
             return strnatcasecmp($a[$sortBy], $b[$sortBy]);
         });
     }
 }
Ejemplo n.º 4
0
    ?>

  <h2 class="element-invisible"><?php 
    echo __('%1% hierarchy', array('%1%' => sfConfig::get('app_ui_label_informationobject')));
    ?>
</h2>
  <div class="resource-hierarchy">
    <ul>
    <?php 
    foreach ($items[0]['resource']->getAncestors()->orderBy('lft') as $ancestor) {
        ?>
      <?php 
        if (QubitInformationObject::ROOT_ID != intval($ancestor->id)) {
            ?>
      <li><h3><?php 
            $isad = new sfIsadPlugin($ancestor);
            echo $isad->__toString();
            ?>
</h3></li>
      <?php 
        }
        ?>
    <?php 
    }
    ?>
    </ul>
  </div>

  <table>
    <thead>
      <tr>