예제 #1
0
파일: item.php 프로젝트: alencarmo/OCF
 function loadHtmlList(&$list)
 {
     global $item_typ, $gorumroll;
     parent::loadHtmlList($list);
     if ($gorumroll->list == "item_search" && count($list) && !$gorumroll->rollid) {
         $cid = $list[0]->cid;
         while (($item = current($list)) && ($oneCatExists = $item->cid == $cid)) {
             next($list);
         }
         if ($oneCatExists) {
             include "item_typ.php";
             // resetting $item_typ
             $this->setupCategorySpecificList($cid);
             // hogy a prototype-os mezok tenyleg objektumok legyenek:
             foreach ($list as $item) {
                 foreach ($item_typ["attributes"] as $attr => $attrInfo) {
                     if (isset($item->{$attr}) && isset($attrInfo["prototype"]) && !is_object($item->{$attr})) {
                         $item->{$attr} = new $attrInfo["prototype"]($item->{$attr});
                     }
                     // ha egy nem kategory specifikus search eredmenyet jelenitjuk meg es azt
                     // kategoria specifikus oszlopokkal kivanjuk kiegesziteni, akkor
                     // gaz lehet a user fieldekkel! A user filedek lekerdezesehez ugyanis
                     // meg a search query osszeallitasa soran be kell a querybe tenni a megfelelo 'AS' mezoket,
                     // hogy a juzerbol szarmazo oszlopokat bedzsojnozzuk az itembe. Egy advanced search eseten
                     // azonban ez nem tortenik meg, ezert ezeknek az oszlopoknak az ertekei definialatlanok lesznek
                     // (viszont az activateVariableFields ugy jelzi oket mint megmutatando oszlopokat!).
                     // Az ilyen oszlopokat nem tudjuk megmutatni, ezert itt ki is vesszuk a typeinfobol:
                     if (in_array("list", $attrInfo) && !isset($item->{$attr})) {
                         Object::removeFromTypeInfo($attr, "list", "item_typ");
                     }
                 }
             }
         }
     }
 }