26 if (is_array($data)) {
27 foreach ($data as $no => $record) {
28 if (is_array($record)) {
29 if ( isset($record[$id]) && isset($record[$name]) ) {
32 if ($parent && isset($record[$parent])) {
33 $pid=$record[$parent];
34 if ($pid==$xid) $pid=0;
37 foreach ($data as $no2 => $rec2) {
38 if ($rec2[$id]==$pid) {
39 $xna=$rec2[$name].
' -> '.$xna;
48 $select_data[$xid]=$xna;
60 $folder=$this->oTPL->get_tpl_dir($modul).
'htm';
61 $folder_files=array_diff(scandir($folder), array(
'..',
'.'));
62 foreach ($folder_files as $no => $filename) {
63 $id=substr($filename, 0 , (strrpos($filename,
".")));
66 if (substr($na, 0, strlen($pfx)) != $pfx) $id=0;
68 if ($id) $select_data[$id]=$na;
81 public function run() {
86 $rid =
dbx()->get_modul_var(
'rid',0,
'int');
87 $view=
dbx()->get_modul_var(
'dbx_view');
92 $db =
dbx()->get_system_obj(
'dbxDB');
93 $lng =
dbx()->get_system_var(
'dbx_lng',
'de');
96 $tab_folder = $tab_content.
'_folder';
99 $data =
$db->select1($tab_content,$rid);
100 $data_folder =
$db->select($tab_folder);
101 $data_folder =$this->
make_select_data($data_folder,
'id',
'name',
'parent_id');
104 $options_groups=array();
105 $user_groups=
$db->select(
'dbxUser_groups',
'active = 1',
'*',
'name');
106 foreach ($user_groups as $no => $record) {
107 $id =$record[
'name'];
108 $group =$record[
'description'];
109 $options_groups[$id]=$group;
111 $options_groups[
'zzzz']=
'<hr>';
113 $oForm=
dbx()->get_system_obj(
'dbxForm');
114 $oForm->init(
'dbxContent_edit',
'form-sysdata');
117 $oForm->_action=
"?dbx_modul=dbxContent_admin&dbx_run1=content&dbx_run2=edit_sysdata&dbx_view=$view&rid=$rid";
118 $oForm->_msg_info =
'Content Sytemdaten bearbeiten';
119 $oForm->_msg_success=
'Content gespeichert';
124 $oForm->add_fld(
'id' ,
'text-label');
126 $oForm->add_fld(
'title' ,
'text-label');
127 $oForm->add_fld(
'sorter' ,
'text-label');
128 $oForm->add_fld(
'keywords' ,
'text-label');
129 $oForm->add_fld(
'permalink' ,
'text-label');
130 $oForm->add_fld(
'activ' ,
'checkbox-label');
131 $oForm->add_fld(
'hits' ,
'text-label');
134 $oForm->add_fld(
'folder' ,
'select-single-label',options: $data_folder);
135 $oForm->add_fld(
'template' ,
'select-single-label',options: $data_template);
136 $oForm->add_fld(
'group_read',
'multi-select' ,options: $options_groups, rules:
'*');
139 $observer=
'obs_content_rid';
140 $observ[
'name'] =
'content_rid';
141 $observ[
'observ'] =
'content_rid';
142 $observ[
'value'] = $rid;
143 $observ[
'old'] = $rid;
144 $oForm->add_obj($observer,
'dbx|observe',$observ);
145 $oForm->add_js_call(
'group_read',
'multiselect2');
149 if($oForm->submit()) {
150 $submitted_permalink = trim((
string)(
$_POST[
'permalink'] ??
''));
151 if ($submitted_permalink !==
''
152 && dbxContent_permalink::isValid($submitted_permalink)
153 && dbxContent_permalink::exists(
$db, $tab_content, $submitted_permalink, (
int)$rid)) {
154 $oForm->add_fld_error(
'permalink',
'Dieser Permalink wird bereits von einer anderen Seite verwendet.');
157 if(!$oForm->errors()) {
159 $change=$oForm->changed();
160 $post_permalink = trim((
string)(
$_POST[
'permalink'] ?? ($data[
'permalink'] ??
'')));
161 $post_folder = (int)(
$_POST[
'folder'] ?? ($data[
'folder'] ?? 0));
162 $post_title =
$_POST[
'title'] ?? ($data[
'title'] ??
'');
163 $post_values = array();
164 if ($post_permalink ===
'') {
165 $post_values[
'permalink'] = dbxContent_permalink::build(
$db, $tab_folder, $post_folder, $post_title, (
int)$rid);
166 $oForm->set_post(
'permalink', $post_values[
'permalink']);
171 $ok=$oForm->save_post($tab_content,$rid,$post_values);
172 if (
$ok) $oForm->_msg_success =
'Daten gespeichert';
173 if (!
$ok) $oForm->_msg_success =
'Daten konnten nicht gespeichert werden';
176 $oForm->_msg_success =
'Keine Änderung';
179 if ($oForm->errors()) {
182 foreach (
$errors as $fld => $msg) {
186 $oForm->_msg_error =
"Prüfen sie bitte ihre Eingaben ($flds)";
191 $rid=$oForm->_data[
'id'];
192 $oForm->add_obj(
'obs_rid',
'dbx|observe',
"name=content_rid&value=$rid");