dbXapp 2.0
RAD, CMS, Module und Runtime-IDE fuer dbXapp
Loading...
Searching...
No Matches
dbxContent_ibrowser.class.php
Go to the documentation of this file.
1<?php
2namespace dbx\dbxContent_admin;
3
4dbx()->use_system_class('dbxReport');
5
6Class dbxReport_images extends \dbxReport {
7
8 public function run_body($content) {
9
10 $img_data=$this->_record;
11 //$this->add_obj('ximg','dbx|image-upload',$img_data);
12 //dbx_debug("#BODY#",$content,$img_data);
13 $content=$this->forward_run_body($content);
14 return $content;
15 }
16
17
18 public function get_img_data($rpos=0,$rrows=1) {
19 $rdata=array(); $rcount=0;
20 $aext=array("jpg","jpeg","png","gif","webp");
21 $path=dbx_get_file_dir().'/dbxContent/img/';
22 $url =dbx()->get_base_url().'files/dbxContent/img/';
23
24 if (!is_dir($path)) @mkdir($path, 0777, true);
25 if (!is_dir($path) || !is_readable($path)) {
26 $this->_rcount = 0;
27 return $rdata;
28 }
29
30 $dh = opendir($path);
31 if (!$dh) {
32 $this->_rcount = 0;
33 return $rdata;
34 }
35 while(($file = readdir($dh)) !== false) {
36 $info = pathinfo($path.$file);
37 $ext = strtolower((string)($info['extension'] ?? ''));
38 if (in_array($ext,$aext)) {
39 $rcount++;
40 if ($rcount >= $rpos && $rcount <= ($rpos+$rrows) ) {
41 $record=array();
42 $xfile=$file;
43 $record['id'] =$xfile;
44 $record['name'] =$xfile;
45 $record['src'] =$url.$xfile;
46 $record['alt'] ="Bild ($xfile)";
47 $record['tooltip']='tt';
48 $record['high'] ='600px';
49 $record['width'] ='1600px';
50 $record['class'] ='dbxImg';
51 $record['dbx_selectval']=$xfile;
52 $rdata[]=$record;
53 }
54 } // ext in array(aext)
55 }
56 closedir($dh);
57 $this->_rcount=$rcount;
58
59 return $rdata;
60 }
61
62
63 Private function report_images() {
64 $data =array(); $cols=2;
65 $cols =dbx()->get_request_var('dbx_cols',1);
66 $rrows =dbx()->get_request_var('dbx_rrows',2);
67 $rpos =dbx()->get_request_var('dbx_rpos',0);
68 $target="";
69 $section='ibrowser';
70
71 $rdata =$this->get_img_data($rpos,$rrows);
72 $rcount=$this->_rcount;
73 for ($i=1; $i <= $cols; $i++) {
74 $fkey='obj_'.$i;
75 $flds[$fkey]='Bild';
76 }
77 //dbx_debug("Felder",$flds);
78
79 $caller=dbx()->get_request_var('dbx_caller',0);
80 if (!$caller) $caller=dbx()->get_session_var('dbx_caller',0,$section);
81 if ( $caller) dbx()->set_session_var('dbx_caller',$caller,$section);
82 dbx()->debug("#images caller=($caller)");
83
84
85 $selected['label'] = "#get_selected# (2)";
86 $selected['dbx_target']= $caller;
87 $selected['dbx_jsys'] = "dbx_jmode=set_value&dbx_select_max=1&dbx_caller=$caller";
88
89 $oReport =dbx()->get_system_obj('dbxReport');
90 $oReport->init('dbxContent_ibrowser','report-images');
91 $oReport->_data=$data;
92 $oReport->_create_sel_flds=0;
93 $oReport->_rdata = $rdata;
94 $oReport->_rcount= $rcount;
95 $oReport->_rrows = $rrows;
96 $oReport->_rpos = $rpos;
97
98 $content=$oReport->run(1,$flds,'table');
99
100 return $content;
101 }
102
103}
104
105
106Class dbxContent_ibrowser {
107
108 private function delete_img() {
109 $img =dbx()->get_modul_var('img','','filename-img');
110 if ($img) {
111 $path=dbx_get_base_dir().'dbx/modules/dbxContent/img/';
112 $path_file=$path.$img;
113 if (file_exists($path_file)) unlink($path_file);
114 }
115 }
116
117 public function run() {
118 $caller=dbx()->get_modul_var('dbx_caller',0);
119
120 $oReport= new dbxReport_images;
121 $oReport->init('dbxContent_ibrowser','report-images');
122 $oReport->_create_sel_flds=0;
123 $oReport->_action=dbx()->get_self_url();
124
125 $data['dbx_rrows']=2;
126 $data['dbx_rpos'] =0;
127
128 $caller=dbx()->get_modul_var('dbx_caller');
129
130 $rrows =$oReport->get_sel('dbx_rrows',12);
131 $rpos =$oReport->get_sel('dbx_rpos',0);
132
133 $work=dbx()->get_modul_var('dbx_run2');
134 if ($work == 'delete_img') $this->delete_img();
135
136
137 $oReport->_data = $data;
138 $oReport->_rdata = $oReport->get_img_data($rpos,$rrows);
139 $oReport->_rrows = $rrows;
140 $oReport->_rpos = $rpos;
141
142 $selected['dbx_target']= $caller;
143 $selected['dbx_value'] = '{name}';
144
145
146 $delete['action']=$oReport->_action.'&dbx_run2=delete_img&img={name}';
147
148
149
150 $oReport->add_obj('img','image-upload');
151 $oReport->add_obj('sel','button-get-selected',$selected);
152 $oReport->add_obj('del','image-delete',$delete);
153
154
155 $content=$oReport->run();
156 return $content;
157 }
158
159
160}
161
162?>
dbx_get_file_dir()
Definition index.php:265
$path_file
Definition index.php:270
dbx_get_base_dir($cut_Data=0)
Definition index.php:157