Ejemplo n.º 1
0
 public function main()
 {
     $aType = call_user_func([$this->typeName, 'getFieldsInfo']);
     $szIndex = call_user_func([$this->typeName, 'getIndexKey']);
     $sql = sprintf('select `%s`, `%s` as name, `%s` from `%s` where %s order by `%s` ', $szIndex, $this->fieldName, $this->fieldOrder, $aType['table'], $this->fieldCondition, $this->fieldOrder);
     $aData = \Extasy\ORM\DB::query($sql);
     foreach ($aData as $key => $value) {
         foreach ($value as $key2 => $value2) {
             $aData[$key][$key2] = str_replace("\n", '', $value2);
         }
     }
     print UParser::parsePHPFile(__DIR__ . DIRECTORY_SEPARATOR . 'order.tpl', array('szTitle' => $this->szTitle, 'aBegin' => $this->aBegin, 'type' => $this->typeName, 'back' => $this->back, 'aHidden' => $this->aHidden, 'aData' => $aData));
     $this->output();
 }
Ejemplo n.º 2
0
 /**
  * @desc Вывод на обычной форме
  * @return
  */
 function getFormValue()
 {
     $builder = new QueryBuilder('select');
     $fieldsInfo = call_user_func(array($this->fieldInfo['model'], 'getFieldsInfo'));
     $nameField = isset($this->fieldInfo['cross_name']) ? $this->fieldInfo['cross_name'] : 'name';
     $index = 'id';
     $order = isset($fieldsInfo['order']) ? $fieldsInfo['order'] : 'id';
     $builder->setSelect($index);
     $builder->setSelect($nameField);
     $builder->setFrom($fieldsInfo['table']);
     $builder->setOrderFunction($order);
     $data = \Extasy\ORM\DB::query($builder->prepare());
     array_unshift($data, ['id' => 0, 'name' => 'Не выбрано']);
     $select = new CSelect();
     $select->name = $this->szFieldName;
     $select->current = $this->aValue;
     $select->required = !empty($this->fieldInfo['required']) ? $this->fieldInfo['required'] : false;
     $select->values = $data;
     return $select->generate();
 }
Ejemplo n.º 3
0
 protected function loadAllRows($cond = ' 1 ')
 {
     $szNameField = $this->fieldInfo['cross_name'];
     $szIndex = $this->fieldInfo['cross_index'];
     $szTable = $this->fieldInfo['cross_table'];
     $szDataBase = !empty($this->fieldInfo['database']) ? $this->fieldInfo['database'] : '';
     // Если задано имя базы данных приаттачиваем
     if (!empty($szDataBase)) {
         $szTable = $szDataBase . '.' . $szTable;
     } else {
         $szTable = '`' . $szTable . '`';
     }
     if (!empty($this->fieldInfo['cross_cond'])) {
         $szCond = ' WHERE ' . $this->fieldInfo['cross_cond'];
     } elseif (!empty($this->fieldInfo['cross_group'])) {
         $szCond = ' WHERE `' . $this->fieldInfo['cross_parent'] . '`="' . $this->document->id->getValue() . '"';
     } else {
         $szCond = '';
     }
     if (!empty($cond)) {
         $szCond .= ' and ' . $cond;
     }
     if (!empty($this->fieldInfo['ordered'])) {
         $szCond .= ' ORDER BY `' . $szIndex . '`';
     }
     $sql = sprintf('SELECT `%s`,`%s` FROM %s %s ', \Extasy\ORM\DB::escape($szNameField), \Extasy\ORM\DB::escape($szIndex), \Extasy\ORM\DB::escape($szTable), $szCond);
     $aData = \Extasy\ORM\DB::query($sql);
     return $aData;
 }