/** * Im Unterschied zu getUpdateMask() liefert diese Methode eine Tabelle in der Direkt alle Felder Eingabefelder sind, * somit kann man direkt mehrere Zeilen auf einmal bearbeiten. */ function getUpdateAllMask() { $tNames = array(); $colNames = array(); $i = 0; foreach ($this->COLNAMES as $colName) { if (!$this->isNoUpdateCol($colName)) { $lbl = ""; if ($i < count($this->LABELS)) { $lbl = $this->LABELS[$i]; } else { $lbl = $colName; } array_push($tNames, $lbl); array_push($colNames, $colName); } $i++; } $deleteMask = null; if ($this->isDeleteInUpdate()) { $deleteMask = !$this->doDeleteFromUpdatemask() ? null : $this->doDeleteFromUpdatemask(); // Damit die Spalte mit dem Entfernen Button // zur Verfügung steht, in Arrays einbinden. array_push($colNames, "entfernen"); array_push($tNames, "entfernen"); } $table = new Table($tNames); if (count($this->COLSIZES) > 0) { $table->setColSizes($this->COLSIZES); } $table->setHeadEnabled(true); $table->setBackgroundColorChange(true); if ($this->WIDTH > 0) { $table->setWidth($this->WIDTH); } if ($this->HEIGHT > 0) { $table->setHeight($this->HEIGHT); } if ($this->BORDER != null && strlen($this->BORDER) > 0) { $table->setBorder($this->BORDER); } if ($this->PADDING >= 0) { $table->setPadding($this->PADDING); } if ($this->HEAD_ENABLED) { $table->setHeadEnabled($this->HEAD_ENABLED); } if ($this->SPACING >= 0) { $table->setSpacing($this->SPACING); } if ($this->XPOS > 0 && $this->YPOS > 0) { $table->setXPos($this->XPOS); $table->setYPos($this->YPOS); } //--------------------------------------------------- // gesamte Tabelle einlesen um Feldtypen zu ermitteln //--------------------------------------------------- $cns = ""; foreach ($colNames as $cn) { if (strpos(" " . $this->COLNAMESTRING, $cn) > 0) { $cns .= $cns == "" ? $cn : "," . $cn; } } $stmnt = "SELECT " . $cns . " FROM " . $this->TABLENAME . " LIMIT 1 "; $result = $this->DBCONNECT->executeQuery($stmnt); //--------------------------------------------------- // ROWS in Table aufnehmen //--------------------------------------------------- $dbComboArrays = array(); $bgCtr = 1; for ($ir = 1; $ir <= count($this->ROWS); $ir++) { $r = $table->createRow(); $r->setStyle("padding", "5px 5px"); $rowId = $this->ROWS[$ir]->getAttribute(count($this->COLNAMES)); $r->setBackgroundColor($_SESSION['config']->COLORS['Tabelle_Hintergrund_' . $bgCtr]); if ($bgCtr == 1) { $bgCtr = 2; } else { $bgCtr = 1; } //--------------------------------------------------- // SPALTEN aufbauen //--------------------------------------------------- for ($ia = 0; $ia < count($this->COLNAMES); $ia++) { $row = $this->ROWS[$ir]; $t = ""; $fieldName = mysql_field_name($result, $ia); $fieldLen = 30; if (!$this->isNoUpdateCol($fieldName)) { $maxLen = mysql_field_len($result, $ia); if ($maxLen < $fieldLen) { $fieldLen = $maxLen; } $lookups = getLookupWerte($_SESSION['config']->DBCONNECT, $this->TABLENAME, $fieldName); if (mysql_num_rows($lookups) > 0) { $t = new LookupCombo($_SESSION['config']->DBCONNECT, $fieldName . $rowId, $this->TABLENAME, $fieldName, $row->getNamedAttribute($fieldName)); } else { if ($this->isDbComboSet($this->TABLENAME, $fieldName)) { // Wenn DbCombo definiert wurde wird die Combobox zur Spalte angezeigt //Wenn die Combobox noch nicht erzeugt wurde, erzeugen. if (!isset($dbComboArrays[$this->TABLENAME . $colNames[$ia]])) { $dbComboArrays[$this->TABLENAME . $colNames[$ia]] = getDbComboArray($this->TABLENAME, $colNames[$ia], $this->ROWS[$ir]); } $dbCombo = $dbComboArrays[$this->TABLENAME . $colNames[$ia]]; if (count($dbCombo) > 0) { $default = $row->getAttribute($ia); if (!existsKeyInArray($default, $dbCombo)) { $default = null; } $t = new ComboBox($fieldName . $rowId, $dbCombo, $default); } } else { if (mysql_field_type($result, $ia) == "blob") { $t = new TextArea($fieldName . $rowId, $row->getNamedAttribute($colNames[$ia]), round(70 / count($this->COLNAMES), 0), 4); } else { if (strpos(mysql_field_flags($result, $ia), "enum") > 0) { $ev = $this->getEnumValues($fieldName); if (count($ev) == 2 && (in_array('J', $ev) && in_array('N', $ev))) { $t = new Checkbox($fieldName . $rowId); if ($row->getNamedAttribute($colNames[$ia]) == "J") { $t->setSelected(true); } } else { $t = new ComboBox($fieldName . $rowId, $this->getComboboxEnumArray($fieldName)); } } else { if (mysql_field_type($result, $ia) == "int") { $t = new TextField($fieldName . $rowId, $row->getNamedAttribute($colNames[$ia]), $fieldLen, $maxLen); } else { if (mysql_field_type($result, $ia) == "date") { //$t = new TextField($fieldName.$rowId,$row->getNamedAttribute($colNames[$ia]), $tfWidth, mysql_field_len ( $result, $ia ) ); $val = $row->getNamedAttribute($colNames[$ia]); $t = new DateTextfield($fieldName . $rowId, $val); } else { if (mysql_field_type($result, $ia) == "timestamp") { $t = new TextField($fieldName . $rowId, $row->getNamedAttribute($colNames[$ia]), $fieldLen, $maxLen); } else { $t = new TextField($fieldName . $rowId, $row->getNamedAttribute($colNames[$ia]), $fieldLen, $maxLen); } } } } } $arrChk = array_search($fieldName, $this->READONLYCOLS); if (strlen($arrChk) != 0) { $t->setReadOnly(true); } } } // Eingabe-Objekt in Zeile einfügen $r->setAttribute($ia, $t); } else { $r->setAttribute($ia, ""); } } // entfernen Button einfügen if ($this->isDeleteInUpdate()) { $btnDel = new Button("delete" . $rowId . $this->TABLENAME, "entfernen"); $r->setAttribute(count($tNames) - 1, $btnDel); } $table->addRow($r); } // Speichern/Abbrechen Button einfügen $btnOk = new Button("DbTableUpdate" . $this->TABLENAME, "Speichern"); $btnOkFake = new Button("DbTableUpdate" . $this->TABLENAME, "Speichern"); $btnOkFake->setStyle("display", "none"); $btnOkFake->setWidth(0); $btnOkFake->setHeight(0); $btnCancel = new Button("", "Abbrechen"); $hidden = new Hiddenfield("UpdateAllMaskIsActive", "true"); $form = new Form($_SERVER['SCRIPT_NAME']); $form->add($this->DEFAULT_HIDDEN_FIELDS); if ($deleteMask != null) { $form->add($deleteMask); } $form->add($btnOkFake); $form->add($this->getPageNavigation()); $form->add($table); $form->add($btnOk); $form->add($btnCancel); $form->add($hidden); return $form; }
public function createExamples($ind) { $table_box = new Table(); $table_box->setWidth(250)->setDefaultAlign(RowTable::ALIGN_LEFT); $table_box->addRow(); $body_obj = new Object(); $body_obj->setAlign(Object::ALIGN_CENTER); //->setId("id_body_obj")->setStyle("padding:5px;background:".$this->background_body->getValue().";"); $text_obj = new Object(__(TEXT_ON_BODY)); $body_obj->add($text_obj->setId("id_body_text"), "<br/>"); $link_obj = new Object(new Link("javascript:void(0);", Link::TARGET_BLANK, __(LINK_ON_BODY))); $body_obj->add($link_obj->setId("id_body_link"), "<br/>"); $body_obj->add($this->text_link_note_obj, "<br/>"); $table_box->addRow($body_obj); $table_box->addRow(); $table_box->addRow(); $button_1 = new Button($this); $button_1->setWidth(245); $table_box->addRow($button_1->setValue("Button [style jquery]")); $table_box->addRow(); $tabs = new Tabs("tab-sample"); $tabs->addTab("Tab1", ""); $tabs->addTab("Tab2", ""); $tabs->addTab("Tab3", ""); $table_box->addRow($tabs); $table_box->addRow(); $table_box->addRow(); $table_box->addRow(); $table_box->addRow(); $table_box->addRow(); $dialogbox = new DialogBox(__(DIALOGBOX_TITLE), __(DIALOGBOX_CONTENT)); $dialogbox->setWidth(245)->activateOneInstance()->setPosition(""); $dialogbox_link = new Object(new Link($dialogbox, Link::TARGET_NONE, __(VIEW_DIALOGBOX))); $table_box->addRow($dialogbox_link->setId("id_dialogbox_link")); $dialogbox->setPositionX("\$('#" . $dialogbox_link->getId() . "').position().left-f_scrollLeft()"); $dialogbox->setPositionY("\$('#" . $dialogbox_link->getId() . "').position().top-f_scrollTop()-70"); $this->addObject(clone $dialogbox); $table_box->addRow(); $table_box->addRow(); $table_box->addRow(); $table_box->addRow(); $table_box->addRow(); $table_box->addRow(); $style1_box_text = new Box("text", false, $this->current_style_val, $this->current_style_val, "", "box_text_" . $this->current_style_val, 245); if ($this->background_picture_1->getValue() != "") { $style1_box_text->forceBoxWithPicture(true, $this->border_table_1->getValue()); } else { $style1_box_text->forceBoxWithPicture(false); } $table_box->addRow($style1_box_text->setContent("Box Object [<a href=\"javascript:void(0);\">style " . $this->current_style_val . "</a>]")); $style1_box = new Box("link", false, $this->current_style_val, $this->current_style_val, "javascript:void(0);", "box_" . $this->current_style_val, 245); if ($this->background_picture_1->getValue() != "") { $style1_box->forceBoxWithPicture(true, $this->border_table_1->getValue()); } else { $style1_box->forceBoxWithPicture(false); } $style1_box->setShadow(true); $table_box->addRow($style1_box->setContent("Box Object [<a href=\"javascript:void(0);\">style " . $this->current_style_val . "</a>]")); $style1_box = new RoundBox($this->current_style_val, "round_box_" . $this->current_style_val, 245); $style1_box->setShadow(true); if ($this->background_picture_1->getValue() != "") { $style1_box->forceBoxWithPicture(true, $this->border_table_1->getValue()); } else { $style1_box->forceBoxWithPicture(false); } $table_box->addRow($style1_box->setContent("RoundBox Object<br/>[style " . $this->current_style_val . "]")); $table_box->addRow(); if (!defined('DEFINE_STYLE_BORDER_TABLE_' . $this->current_style_val)) { define('DEFINE_STYLE_BORDER_TABLE_' . $this->current_style_val, $this->border_table_1->getValue()); } $table = new Table(); $table->setId("table_sample")->setWidth(245); $table->addRowColumns("header1", "header2", "header3")->setHeaderClass($this->current_style_val); $table->addRowColumns("cel 1-1", "cel 1-2", "cel 1-3")->setId("table_tr_sample")->setBorderPredefinedStyle($this->current_style_val)->setAlign(RowTable::ALIGN_CENTER); $table_box->addRow($table); return $table_box; }