Пример #1
0
 function generField($filterConf, &$list, $attr)
 {
     // Lokalis parameterek inicializalasa az osztalyvaltozok alapjan:
     foreach (array('width', 'filterText', 'resetOnClick', 'enable') as $a) {
         ${$a} = $this->{$a};
     }
     // A $filterConf-ban erkezo ertekek felulirhatjak a lokalis parametereket:
     if (is_array($filterConf)) {
         foreach (array('width', 'filterText', 'resetOnClick', 'enable') as $a) {
             if (isset($filterConf[$a])) {
                 ${$a} = $filterConf[$a];
             }
         }
         $type = $filterConf['type'];
     } else {
         $type = $filterConf;
     }
     if (!$enable) {
         return "";
     }
     if ($type == "text_filter") {
         $onclick = $resetOnClick ? "onclick=\"this.value='';Table.filter(this,this)\"" : "";
         $s = GenerWidget::generTextField($type, "filter", $filterText, $width, "", " onkeyup=\"Table.filter(this,this)\" {$onclick}");
     } elseif ($type == "select_filter") {
         $values = array_unique(array_map(create_function('$v', "return strip_tags(\$v->showListVal('{$attr}'));"), $list));
         $values[] = "";
         sort($values);
         $labels = $values;
         $labels[0] = "All";
         $s = GenerWidget::generSelectField("filter", $labels, $values, "", "All", 0, $width, "", "onchange=\"Table.filter(this,this)\"");
     }
     return $s;
 }
Пример #2
0
 function generClassSelectionField($attr, $val, &$lllProp)
 {
     global $lll;
     $size = isset($val["size"]) ? $val["size"] : 1;
     $width = isset($val["width"]) ? $val["width"] : 0;
     if (isset($val["get_values_callback"])) {
         eval('$objects=$this->base->' . $val["get_values_callback"] . ';');
     } else {
         if (isset($val["query"])) {
             // ha egy fuggvenyt adunk meg query-kent:
             if (!preg_match("{^SELECT.*}", $val["query"])) {
                 eval("\$query={$val['query']};");
             } else {
                 $query = $val["query"];
             }
         } else {
             $query = "SELECT id, {$val['labelAttr']} FROM @" . $val['class'];
         }
         if (isset($val["where"])) {
             // ha egy osztalyfuggvenyt adunk meg where feltetelkent: pl. "where"=>"\$this->base->getWhere()"
             if (strstr($val["where"], "\$this->base")) {
                 eval("\$w={$val['where']};");
             } else {
                 $w = $val["where"];
             }
             $query .= " WHERE {$w}";
         }
         if (isset($val["ordered"])) {
             $query .= " ORDER BY {$val['ordered']}";
         }
         if (isset($val["onchange"])) {
             JavaScript::addEvent('#' . $attr, "change", $val["onchange"]);
         }
         $objects = new $val["class"]();
         loadObjectsSQL($objects, $query, $objects);
     }
     $labels = array();
     $values = array();
     if (isset($val["nothing selected"])) {
         $values[] = 0;
         $labels[] = $lll[$val["nothing selected"]];
     }
     if (isset($val["labelFormat"])) {
         $labelAttrs = split(", *", $val["labelAttr"]);
         $e = "sprintf('{$val['labelFormat']}'";
         foreach ($labelAttrs as $l) {
             $e .= ", \$obj->{$l}";
         }
         $e .= ")";
     }
     foreach ($objects as $obj) {
         $values[] = $obj->id;
         if ($obj->id && isset($val["labelFormat"])) {
             eval("\$temp={$e};");
             $labels[] = $temp;
         } elseif ($obj->id) {
             $labels[] = $obj->getAttr($val["labelAttr"]);
         } else {
             $labels[] = $lll["nothingSelected"];
         }
     }
     $showRelation = isset($val["show_relation"]) ? $val["show_relation"] : "";
     $s = GenerWidget::generSelectField($attr, $labels, $values, $attr, $this->base->{$attr}, $size, $width, $showRelation);
     if (in_array("selectfilter", $val)) {
         $s = GenerWidget::generSelectFilterField($attr, $labels, $width) . $s;
     }
     return $s;
 }
Пример #3
0
 function showSelector($what)
 {
     global $lll;
     $_S =& new AppSettings();
     if (!$_S->{"allowSelect{$what}"}) {
         return "";
     }
     $labels = array($lll["change{$what}"]);
     $values = array("0");
     $allowedItems = explode(",", $_S->{"allowed{$what}s"});
     foreach ($allowedItems as $item) {
         $values[$item] = $item;
         if (isset($lll["allowed{$what}s_{$item}"])) {
             $labels[$item] = $lll["allowed{$what}s_{$item}"];
         } else {
             $labels[$item] = str_replace("_", " ", $item);
         }
     }
     JavaScript::addInclude(GORUM_JS_DIR . "/cookie.js");
     $base = Controller::getBaseUrl();
     JavaScript::addOnload("\$.noah.themeSelectorWidget(" . G::js($what, $base) . ")");
     return GenerWidget::generSelectField("{$what}SelectorWidget", $labels, $values, "{$what}SelectorWidget", "0");
 }