コード例 #1
0
ファイル: prio.php プロジェクト: staabm/redaxo
 public function formatElement()
 {
     $name = $this->getFieldName();
     $qry = 'SELECT ' . $this->labelField . ',' . $name . ' FROM ' . $this->table->getTableName() . ' WHERE 1=1';
     if ($this->whereCondition != '') {
         $qry .= ' AND (' . $this->whereCondition . ')';
     }
     // Im Edit Mode das Feld selbst nicht als Position einfügen
     if ($this->table->isEditMode()) {
         $qry .= ' AND (' . $name . '!=' . $this->getValue() . ')';
     }
     $qry .= ' ORDER BY ' . $name;
     $sql = rex_sql::factory();
     $sql->setQuery($qry);
     $this->select->addOption(rex_i18n::msg($this->firstOptionMsg), 1);
     $value = 1;
     foreach ($sql as $opt) {
         $value = $opt->getValue($name) + 1;
         $this->select->addOption(rex_i18n::rawMsg($this->optionMsg, $opt->getValue($this->labelField)), $value);
     }
     if (!$this->table->isEditMode()) {
         $this->select->setSelected($value);
     }
     return parent::formatElement();
 }
コード例 #2
0
 function formatElement()
 {
     global $I18N;
     $name = $this->getFieldName();
     $qry = 'SELECT ' . $this->labelField . ',' . $name . ' FROM ' . $this->table->getTableName() . ' WHERE 1=1';
     if ($this->whereCondition != '') {
         $qry .= ' AND (' . $this->whereCondition . ')';
     }
     // Im Edit Mode das Feld selbst nicht als Position einfügen
     if ($this->table->isEditMode()) {
         $sql = $this->table->getSql();
         $qry .= ' AND (' . $name . '!=' . $this->getValue() . ')';
     }
     $qry .= ' ORDER BY ' . $name;
     $sql = rex_sql::factory();
     $sql->setQuery($qry);
     $this->select->addOption($I18N->msg($this->firstOptionMsg), 1);
     while ($sql->hasNext()) {
         $this->select->addOption($I18N->msg($this->optionMsg, $sql->getValue($this->labelField)), $sql->getValue($name) + 1);
         $sql->next();
     }
     return parent::formatElement();
 }