dbXapp 2.0
RAD, CMS, Module und Runtime-IDE fuer dbXapp
Loading...
Searching...
No Matches
dbxSession.class.php
Go to the documentation of this file.
1<?php
2namespace dbx\dbxAdmin;
3
4// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
5Class dbxSession {
6
7 private function delete_table_action(): string {
8 return '<a class="btn btn-sm btn-outline-danger dbxAjax dbxConfirm"'
9 . ' href="?dbx_modul=dbxAdmin&dbx_run1=session&dbx_run2=list_session&dbx_do=delete_tab"'
10 . ' title="Session-Tabelle leeren"'
11 . ' data-confirm-title="<i class=\'bi bi-trash3\'></i> Session-Tabelle leeren"'
12 . ' data-confirm="Alle gespeicherten Sessions wirklich loeschen?"'
13 . ' data-confirm-hint="<small>Die Tabelle dbxSession wird komplett geleert. Dieser Vorgang kann nicht rueckgaengig gemacht werden.</small>"'
14 . ' data-confirm-buttons="yesno"'
15 . ' role="button"><i class="bi bi-trash3"></i></a>';
16 }
17
18 private function report_sessions() {
19 $oDB = dbx()->get_system_obj('dbxDB');
20 $form ='report-sessions';
21 $dd ='dbxSession';
22 $rid = dbx()->get_modul_var('rid' ,0 ,'int');
23 $work = dbx()->get_modul_var('dbx_do' ,'','parameter');
24 dbx()->debug("####Work=($work) RID=($rid)####");
25
26 $data=array(); // additional data for the formular
27
28 $oReport = dbx()->get_system_obj('dbxReport');
29 $oReport->init($form);
30 $oReport->_dd = $dd;
31 $oReport->add_rep('bar_title', 'Sessions');
32 $oReport->add_rep('bar_subtitle', 'Aktive und gespeicherte Sitzungen');
33 $oReport->add_rep('report_shell_class', 'dbx-admin-dashboard-panel dbx-admin-dashboard-session-report');
34 $oReport->add_rep('bar_actions', $this->delete_table_action());
35 $oReport->_msg_info = '';
36 $oReport->_msg_success = '';
37 $oReport->_msg_error = '';
38
39 if ($work == 'row_delete' && $rid) {
40 $ok=$oReport->del_selected($rid);
41 $ok=$oDB->delete('dbxSession',$rid);
42 dbx()->debug("##delete session id=($rid) ok=($ok)");
43 if ( $ok) $oReport->_msg_success = 'Zeile geloescht';
44 if (!$ok) $oReport->_msg_error = 'Zeile konnte nicht geloescht werden';
45 }
46
47 if ($work == 'multi_delete') {
48 $result = $oReport->delete_multi_selected_records($dd);
49 $oReport->apply_multi_delete_result($result);
50 }
51
52 if ($work == 'delete_tab') {
53 $ok=$oDB->delete_tab($dd);
54 dbx()->debug("##delete tab dd=($dd) ok=($ok)");
55 if ( $ok) $oReport->_msg_success = 'Datenbank-Tabelle geleert';
56 if (!$ok) $oReport->_msg_err = 'Datenbank-Tabelle konnte nicht geleert werden';
57 }
58
59
60
61 $flds['id'] ='ID';
62 $flds['update_date'] ='Zugriff';
63 $flds['userid'] ='User';
64 $flds['ip'] ='IP';
65 $flds['design'] ='Design';
66 $flds['page'] ='Page';
67 $flds['modul'] ='Modul';
68 $flds['run1'] ='Run1';
69 $flds['run2'] ='Run2';
70 $flds['edit'] ='Edit';
71 $flds['color'] ='Color';
72 $flds['language'] ='Lng';
73 $flds['request_counter'] ='Request';
74
75 $oReport->_data = $data;
76
77 $oReport->_action = '?dbx_modul=dbxAdmin&dbx_run1=session&dbx_run2=list_session';
78 $oReport->_pages = true;
79 $oReport->_create_row_select= true;
80 $oReport->_create_row_edit = false;
81 $oReport->_create_row_delete= true;
82 $oReport->_create_sel_flds = true;
83 $oReport->_but_pagination = 7;
84
85 $oReport->enable_delete_tab($dd);
86
87 $oReport->add_action('rows_delete' ,'action_button_delete' ,'&dbx_do=multi_delete');
88
89 $oReport->create_selection_fields('dbxAdmin|rpt-sessions-selection');
90
91 if ($work != 'delete_tab' && $work != 'multi_delete' && $work != 'row_delete' && $oReport->submit()) {
92 dbx()->debug("###MODUL Report-submit ### POST=", $_POST ,$_GET);
93 if(!$oReport->errors()) { // submit && no errors
94 $oReport->_msg_success = '';
95 } else {
96 $oReport->_msg_error = 'Prüfen sie bitte ihre Eingaben';
97 }
98 }
99
100 // get all selections and order
101 $rwhere=$oReport->get_fld_val('dbx_rwhere' ,'' ,'sqlsearch|max=32');
102 $rsort =$oReport->get_fld_val('dbx_rsort' ,'update_date' ,'parameter');
103 $rdesc =$oReport->get_fld_val('dbx_rdesc' ,'DESC','parameter');
104 $select=$oReport->get_fld_val('dbx_rselect', 0 ,'int');
105 $rgroup=$oReport->get_fld_val('dbx_rgroup' ,'' ,'parameter');
106 $rrows =$oReport->get_fld_val('dbx_rrows' ,10 ,'int');
107 $rpos =$oReport->get_fld_val('dbx_rpos' , 0 ,'int');
108
109 if ($rwhere!='') {
110 $rwhere = array(
111 'search' => array(
112 'value' => $rwhere,
113 'like' => array('modul', 'run1', 'run2'),
114 'equal' => array('userid'),
115 'mode' => 'starts_with',
116 ),
117 );
118 }
119 if ($select) {
120 if (is_array($rwhere)) {
121 $rwhere = $oDB->normalize_where($dd, $rwhere);
122 }
123 $rwhere=$oReport->add_rwhere_select($rwhere);
124 }
125 //dbx_debug("##SQL-RPT## ($rwhere) Sort=($rsort) UpDown=($rdesc) Group=($rgroup) Rows=($rrows) R-Pos=($rpos) Sel=($select)");
126 $oReport->_rflds = $flds;
127 $oReport->_rrows = $rrows;
128 $oReport->_rpos = $rpos;
129 $oReport->_count_all = $oDB->count($dd);
130 $oReport->_rcount=$oDB->count($dd,$rwhere);
131 $oReport->_rdata =$oDB->select($dd,$rwhere,$flds,$rsort,$rdesc,$rgroup,$rrows,$rpos);
132 //dbx_debug("RDATA",$oReport->_rdata);
133
134
135
136 $content=$oReport->run($flds,'table');
137
138 return $content;
139 } // report_content_flat()
140
141 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
142
143 public function run() {
144 $run=dbx()->get_modul_var('dbx_run2', 'list_session', 'parameter');
145 $content='undefined run';
146 switch ($run) {
147
148 case '':
149 case 'list_session':
150 $content=$this->report_sessions();
151 break;
152
153 }
154 return $content;
155 }
156
157} // class
158
159
160
161
162?>
if(! $db->connect_db_server($server)) $result