idem
2005-11-17 803602c40e3d889e49c5c1366147c36636c23efd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
 
class plugin_listview extends plugin_base {
    
    var $module;
    var $form;
    var $tab;
    var $record_id;
    var $formdef;
    var $options;
    
    function onShow() {
        
        global $app;
        
        $app->uses('listform');
        $app->listform->loadListDef($this->options["listdef"]);
        
        $listTpl = new tpl;
        $listTpl->newTemplate('templates/'.$app->listform->listDef["name"].'_list.htm');
        
        // Changing some of the list values to reflect that the list is called within a tform page
        $app->listform->listDef["file"] = $app->tform->formDef["action"];
        $app->listform->listDef["page_params"] = "&id=".$app->tform_actions->id."&next_tab=".$_SESSION["s"]["form"]["tab"];
        
        
        // Generate the SQL for searching
        if($app->listform->listDef["auth"] != 'no') {
            if($_SESSION["s"]["user"]["typ"] == "admin") {
                $sql_where = "";
            } else {
                $sql_where = $app->tform->getAuthSQL('r')." and";
            }
        }
 
        $sql_where = $app->listform->getSearchSQL($sql_where);
        $listTpl->setVar($app->listform->searchValues);
        
        // Generate SQL for paging
        $limit_sql = $app->listform->getPagingSQL($sql_where);
        $listTpl->setVar("paging",$app->listform->pagingHTML);
 
        // Get the data
        $records = $app->db->queryAllRecords("SELECT * FROM ".$app->listform->listDef["table"]." WHERE $sql_where $limit_sql");
        
        $bgcolor = "#FFFFFF";
        if(is_array($records)) {
            $idx_key = $app->listform->listDef["table_idx"]; 
            foreach($records as $rec) {
    
                $rec = $app->listform->decode($rec);
 
                // Change of color
                $bgcolor = ($bgcolor == "#FFFFFF")?"#EEEEEE":"#FFFFFF";
                $rec["bgcolor"] = $bgcolor;
        
                // The variable "id" contains always the index field
                $rec["id"] = $rec[$idx_key];
 
                $records_new[] = $rec;
            }
        }
 
        $listTpl->setLoop('records',$records_new);
 
        // Loading language field
        $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$app->listform->listDef['name']."_list.lng";
        include($lng_file);
        $listTpl->setVar($wb);
 
        return $listTpl->grab();
        
    }
}
 
?>