Пример #1
0
 private static function renderModel($parameters, $structure, $level = 0)
 {
     $xmlOutput = '';
     foreach ($structure as $model) {
         $modelLink = DataCenterDB::getModelLink($model->get('link'));
         if (!DataCenterPage::userCan('change')) {
             $rowAttributes = array();
         } elseif ($level == 0 && count($parameters['link']) > 0) {
             $rowAttributes = array_merge(array('class' => 'link'), DataCenterXml::buildLink($parameters['link'], $model));
         } else {
             $rowAttributes = array('class' => 'mute');
         }
         $xmlOutput .= DataCenterXml::row($rowAttributes, DataCenterXml::cell(DataCenterXml::div(array('style' => 'padding-left:' . $level * 15 . 'px'), $modelLink->get('name'))) . DataCenterXml::cell(array('align' => 'right'), $modelLink->get('quantity')) . DataCenterXml::cell($model->get('name')) . DataCenterXml::cell(DataCenterUI::message('type', $model->getType())));
         $xmlOutput .= self::renderModel($parameters, $model->getStructure(), $level + 1);
     }
     return $xmlOutput;
 }
Пример #2
0
 public function configure($path)
 {
     // Checks if...
     if (is_array($path['parameter']) && count($path['parameter']) >= 2 && isset(self::$options[$path['parameter'][0]]['gallery'])) {
         $modelLink = DataCenterDBModelLink::newFromValues(array('parent_type' => $path['type'], 'parent_id' => $path['id'], 'child_type' => $path['parameter'][0], 'child_id' => $path['parameter'][1]));
         $model = DataCenterDB::getModel($path['parameter'][0], $path['parameter'][1]);
         $modelLink->set('name', $model->get('kind'));
         $modelLink->set('quantity', 1);
         $formOptions = array('label' => 'attach', 'success' => array('page' => 'models', 'type' => $path['type'], 'action' => 'view', 'id' => $path['id']));
         $headingOptions = array('message' => 'attaching-type', 'subject' => DataCenterUI::message('type', $path['parameter'][0]));
     } else {
         $modelLink = DataCenterDB::getModelLink($path['parameter'][0]);
         $model = $modelLink->getModel();
         $formOptions = array('label' => 'save', 'hidden' => array('id'), 'success' => array('page' => 'models', 'type' => $path['type'], 'action' => 'view', 'id' => $path['id']));
         $headingOptions = array('message' => 'configuring-type', 'type' => 'attachment');
     }
     return DataCenterUI::renderLayout('columns', array(DataCenterUI::renderLayout('rows', array(DataCenterUI::renderWidget('heading', $headingOptions), DataCenterUI::renderWidget('form', array_merge_recursive($formOptions, array('do' => 'link', 'action' => array('page' => 'models'), 'failure' => $path, 'row' => $modelLink, 'hidden' => array('parent_type', 'parent_id', 'child_type', 'child_id'), 'fields' => array('name' => array('type' => 'string'), 'quantity' => array('type' => 'number', 'min' => 0, 'max' => 1000))))))), DataCenterUI::renderLayout('rows', array(DataCenterUI::renderWidget('heading', array('message' => 'model-type', 'type' => $path['type'])), DataCenterUI::renderWidget('details', array_merge(array('row' => $model), self::$options[$model->getType()]['details']))))));
 }