query('SELECT * FROM ' . TBL_RIGHTS . ' WHERE userId = ' . $_POST['userId'] . ' AND rightsPrefix = "' . $_POST['prefix'] . '";'); if ($result->num_rows !== 0) { $rights = $result->fetch_assoc(); $result = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $table . ' ORDER BY ' . $_POST['prefix'] . '_navStart ASC, ' . $_POST['prefix'] . '_navSort ASC;'); $arr_rights = explode(';', $rights['rights']); while ($fetch_data = $result->fetch_assoc()) { $fetch_data[$_POST['prefix'] . '_navEditable'] = 'false'; if ($rights['rightsType'] === 'ALL' || ($rights['rightsType'] === 'DEF' && (in_array($_POST['prefix'] . '_' . $fetch_data[$_POST['prefix'] . '_navId'], $arr_rights) || in_array($_POST['prefix'] . '_' . $fetch_data[$_POST['prefix'] . '_navStart'], $arr_rights)))) { if (!in_array($_POST['prefix'] . '_' . $fetch_data[$_POST['prefix'] . '_navId'], $arr_rights)) { $arr_rights[] = $_POST['prefix'] . '_' . $fetch_data[$_POST['prefix'] . '_navId']; } $fetch_data[$_POST['prefix'] . '_navEditable'] = 'true'; } elseif ($rights['rightsType'] === 'DEF' && (in_array($fetch_data[$_POST['prefix'] . '_navId'], $arr_rights) || in_array($fetch_data[$_POST['prefix'] . '_navStart'], $arr_rights))) { if (!in_array($fetch_data[$_POST['prefix'] . '_navId'], $arr_rights)) { $arr_rights[] = $fetch_data[$_POST['prefix'] . '_navId']; } $fetch_data[$_POST['prefix'] . '_navEditable'] = 'true'; } $data['navigation']['navStart_' . $fetch_data[$_POST['prefix'] . '_navStart']]['navId_' . $fetch_data[$_POST['prefix'] . '_navId']] = $fetch_data; } $data['navPath'] = explode(' ', fnc_getNavPathArray($_POST['prefix'], $_POST['navId'])); } else { $data = 'ERROR FETCHING USER RIGHTS'; } } else { $result = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE id = ' . $id . ';'); $fetch_data = $result->fetch_assoc(); $data = $fetch_data; } echo json_encode($data, JSON_UNESCAPED_UNICODE); } else if ($_POST['request'] === 'updateData') { $error = false; if ($table === 'navi') { switch ($_POST['formAction']) { case 'renameNavPoint' : $result = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $_POST['prefix'] . '_navName = "' . $_POST['navName'] . '" WHERE ' . $_POST['prefix'] . '_navId = ' . $_POST['navId'] . ' LIMIT 1;'); break; case 'updateActive' : $result = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $_POST['prefix'] . '_navActive = "' . $_POST['navActive'] . '" WHERE ' . $_POST['prefix'] . '_navId = ' . $_POST['navId'] . ' LIMIT 1;'); break; case 'sortNavPoint' : $sort = 1; $newSort = json_decode($_POST['newSort']); foreach ($newSort as $sortPoint) { $navPointArray = explode('_', $sortPoint); $navId = $navPointArray[1]; $update = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $_POST['prefix'] . '_navSort = "' . $sort . '" WHERE ' . $_POST['prefix'] . '_navId = ' . $navId . ' LIMIT 1;'); ++$sort; } $result = true; break; case 'moveNavPoint' : $result = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $_POST['prefix'] . '_navStart = ' . $_POST['navStart'] . ' WHERE ' . $_POST['prefix'] . '_navId = ' . $_POST['navId'] . ' LIMIT 1;'); break; default : var_dump($_POST); break; } if (!$result) { $error = true; } } else { $columns = $db->query('SHOW COLUMNS FROM ' . $_POST['prefix'] . '_' . $table . ';'); $fieldNames = array(); while ($column = $columns->fetch_assoc()) { $fieldNames[] = $column['Field']; } foreach ($_POST as $key => $value) { if (in_array($key, $fieldNames)) { $data[] = $key . ' = "' . $db->real_escape_string($value) . '"'; } } /* Behandlung Keyvisual und Content-Image */ if ($table === 'content_image') { if (!is_dir(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'])) { mkdir(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'], 0755); } if (isset ($_POST['uploadFile']) && !empty ($_POST['uploadFile'])) { $old = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE id = ' . $id . ';'); $old_data = $old->fetch_assoc(); if (!isset ($_POST['formAction']) || (isset ($_POST['formAction']) && $_POST['formAction'] !== 'appendImage')) { $file_path = WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $old_data['imgName']; /* Alte Bilddaten löschen */ unlink($file_path . '.' . $old_data['imgExtension']); unlink($file_path . '_orig.' . $old_data['imgExtension']); unlink($file_path . '_thumb.' . $old_data['imgExtension']); } /* Bilddaten auslesen */ $imageData = explode(',', $_POST['uploadFile']); /* Bilddaten dekodieren */ $mimetype = str_replace(array('data:', ';base64'), '', $imageData[0]); $encodedData = str_replace(' ', '+', $imageData[1]); $decodedData = base64_decode($encodedData); /* Bildnamen und Erweiterung generieren */ $keys = (array_keys($vC['mimetypes'], $mimetype)); $extension = $keys[0]; $file_name = fnc_buildUniqueFileName($_POST['prefix'], $_POST['navId'], $_POST['imgName'], $extension); /* Originales Bild speichern */ $file_name_temp = substr($file_name, 0, strrpos($file_name, '.')) . '_temp' . substr($file_name, strrpos($file_name, '.')); $file_name_orig = substr($file_name, 0, strrpos($file_name, '.')) . '_orig' . substr($file_name, strrpos($file_name, '.')); file_put_contents(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $file_name_temp, $decodedData); fnc_checkOrigResize(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/', $file_name_orig, $file_name_temp, $extension, ${$_POST['prefix']}['dimOrig']); if (isset ($_POST['formAction']) && $_POST['formAction'] === 'appendImage') { /* Werte für Datenbank aktualisieren */ foreach ($data as $key => $value) { if (strpos($value, 'imgExtension') !== false) { $data[$key] = 'imgExtension = "' . $db->real_escape_string($extension) . '"'; } else if (strpos($value, 'imgName') !== false) { $data[$key] = 'imgName = "' . $db->real_escape_string(str_replace('.' . $extension, '', $file_name)) . '"'; } } $new = $db->query('INSERT INTO ' . $_POST['prefix'] . '_' . $table . ' SET ' . implode(' , ', $data)); $new_id = $db->insert_id; unset ($data); if ($old_data['sliderContent'] === '') { $slider = array($new_id); } else { $slider = explode(';', $old_data['sliderContent']); $slider[] = $new_id; } $data = array(); $data[] = 'sliderContent = "' . $db->real_escape_string(implode(';', $slider)) . '"'; $data[] = 'hasSlider = "Y"'; } } else { if (isset ($_POST['formAction']) && $_POST['formAction'] === 'updateSort') { if (strpos($_POST['dataSet'], 'keyvisual_') !== false) { $db->query('UPDATE ' . $_POST['prefix'] . '_' . TBL_NAVI . ' SET ' . $_POST['prefix'] . '_keyvisual = ' . $id . ' WHERE ' . $_POST['prefix'] . '_navId = ' . $_POST['navId'] . ' LIMIT 1;'); } elseif (strpos($_POST['dataSet'], 'content_image') !== false) { /** * TODO: update content_textimage Element! */ } } else { /* Altes Bild umbenennen und neue Koordinaten speichern */ $img = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE id = ' . $id . ';'); $img_data = $img->fetch_assoc(); $extension = $img_data['imgExtension']; $old_name = $img_data['imgName'] . '.' . $extension; $old_name_orig = substr($old_name, 0, strrpos($old_name, '.')) . '_orig' . substr($old_name, strrpos($old_name, '.')); $old_name_thumb = substr($old_name, 0, strrpos($old_name, '.')) . '_thumb' . substr($old_name, strrpos($old_name, '.')); $img_name = $_POST['imgName']; $img_name = explode('_', $img_name); foreach ($img_name as $key => $value) { if (is_numeric($value)) { unset ($img_name[$key]); } } $img_name = implode('_', $img_name); if ($_POST['imgName'] . '.' . $_POST['imgExtension'] !== $old_name) { $file_name = fnc_buildUniqueFileName($_POST['prefix'], $_POST['navId'], $img_name, $extension); $file_name_orig = substr($file_name, 0, strrpos($file_name, '.')) . '_orig' . substr($file_name, strrpos($file_name, '.')); $file_name_thumb = substr($file_name, 0, strrpos($file_name, '.')) . '_thumb' . substr($file_name, strrpos($file_name, '.')); rename(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $old_name_thumb, WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $file_name_thumb); rename(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $old_name_orig, WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $file_name_orig); rename(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $old_name, WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $file_name); } else { $file_name = $old_name; $file_name_orig = $old_name_orig; $file_name_thumb = $old_name_thumb; } } } if (!isset ($_POST['formAction']) || (isset ($_POST['formAction']) && $_POST['formAction'] !== 'updateSort')) { $dataSet = str_replace('content_', '', $_POST['dataSet']); /* Bilddaten aus Editor generieren */ if (strpos($dataSet, 'image') === 0) { ${$_POST['prefix']}['dim' . strtoupper(substr($dataSet, 0, 1)) . substr($dataSet, 1, strrpos($dataSet, '_') - 1)]['height'] = ${$_POST['prefix']}['dim' . strtoupper(substr($dataSet, 0, 1)) . substr($dataSet, 1, strrpos($dataSet, '_') - 1)]['width'] * $_POST['previewHeight'] / $_POST['previewWidth']; } $img_created = fnc_buildImage(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/', $file_name_orig, $extension, ${$_POST['prefix']}['dim' . strtoupper(substr($dataSet, 0, 1)) . substr($dataSet, 1, strrpos($dataSet, '_') - 1)], $_POST); /* Thumbnail aus generiertem Bild erzeugen */ if (!is_null(${$_POST['prefix']}[substr($dataSet, 0, strrpos($dataSet, '_')) . 'Thumb'])) { if (strpos($dataSet, 'image') === 0) { ${$_POST['prefix']}[substr($dataSet, 0, strrpos($dataSet, '_')) . 'Thumb']['height'] = ${$_POST['prefix']}[substr($dataSet, 0, strrpos($dataSet, '_')) . 'Thumb']['width'] * $_POST['previewHeight'] / $_POST['previewWidth']; } $thumb = fnc_buildThumbnail(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/', $file_name, $extension, ${$_POST['prefix']}[substr($dataSet, 0, strrpos($dataSet, '_')) . 'Thumb']); } /* Werte für Datenbank aktualisieren */ foreach ($data as $key => $value) { if (strpos($value, 'imgExtension') !== false) { $data[$key] = 'imgExtension = "' . $db->real_escape_string($extension) . '"'; } else if (strpos($value, 'imgName') !== false) { $data[$key] = 'imgName = "' . $db->real_escape_string(str_replace('.' . $extension, '', $file_name)) . '"'; } } if (!$img_created || !$thumb) { $error = true; } } } if (!$error) { /* Daten in Tabelle schreiben */ $dataString = implode(' , ', $data); if ($dataString != '') { $result = ($table === 'content') ? $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $dataString . ' WHERE siteId = ' . $id . ';') : $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $dataString . ' WHERE id = ' . $id . ';'); if (!$result) { $error = true; } } else { $error = true; } } } if ($error) { echo 'ERROR'; } else { echo 'SUCCESS'; } } else if ($_POST['request'] === 'insertData') { $error = false; if ($table === 'navi') { switch ($_POST['formAction']) { case 'addNavPoint' : $navis = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE ' . $_POST['prefix'] . '_navStart = "' . $_POST['navStart'] . '" ORDER BY ' . $_POST['prefix'] . '_navSort ASC;'); $sort = 1; while ($navi = $navis->fetch_assoc()) { $update = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $_POST['prefix'] . '_navSort = "' . $sort . '" WHERE ' . $_POST['prefix'] . '_navId = "' . $navi[$_POST['prefix'] . '_navId'] . '" LIMIT 1;') || $error = true; if ($error) { break; } if ($navi[$_POST['prefix'] . '_navId'] == $_POST['navId']) { ++$sort; $special = ($_POST['new_navType'] === 'content') ? 'N' : 'Y'; $navLink = fnc_buildUniqueLinkName($_POST['prefix'], $_POST['navStart'], $_POST['new_navName']); $insert = $db->query('INSERT INTO ' . $_POST['prefix'] . '_' . $table . ' ( ' . $_POST['prefix'] . '_navId , ' . $_POST['prefix'] . '_navStart , ' . $_POST['prefix'] . '_navName , ' . $_POST['prefix'] . '_navTarget , ' . $_POST['prefix'] . '_navLink , ' . $_POST['prefix'] . '_navActive , ' . $_POST['prefix'] . '_navSort , ' . $_POST['prefix'] . '_specialSite , ' . $_POST['prefix'] . '_specialType ) VALUES ( NULL , "' . $_POST['navStart'] . '" , "' . $_POST['new_navName'] . '" , "" , "' . $navLink . '" , "Y" , "' . $sort . '" , "' . $special . '" , "' . $_POST['new_navType'] . '" );') || $error = true; $new_navId = $db->insert_id; $update = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $_POST['prefix'] . '_navTarget = "index.php?siteId=' . $_POST['siteId'] . '&navId=' . $new_navId . '" WHERE ' . $_POST['prefix'] . '_navId = "' . $new_navId . '" LIMIT 1;') || $error = true; if ($error) { break; } if ($_POST['new_navType'] !== 'uebersicht') { if ($_POST['new_navType'] === 'content') { $headline = $db->query('INSERT INTO ' . $_POST['prefix'] . '_content_headline ( id , content ) VALUES ( null , "Neue Überschrift" );'); $h_id = $db->insert_id; $test = $db->query('INSERT INTO ' . $_POST['prefix'] . '_content_text ( id , content ) VALUES ( null , "Neuer Standardtext" );'); $t_id = $db->insert_id; $site = $db->query('INSERT INTO ' . $_POST['prefix'] . '_content ( id , siteId , siteContents ) VALUES ( null , "' . $new_navId . '" , "headline_' . $h_id . ';text_' . $t_id . '" );'); } else { $site = $db->query('INSERT INTO ' . $_POST['prefix'] . '_' . $_POST['new_navType'] . ' ( id , siteId ) VALUES ( null , "' . $new_navId . '" );'); } } } ++$sort; } break; case 'addSubNav' : $navis = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE ' . $_POST['prefix'] . '_navStart = ' . $_POST['navId'] . ' ORDER BY ' . $_POST['prefix'] . '_navSort ASC;'); $sort = 1; $special = ($_POST['new_subnavType'] === 'content') ? 'N' : 'Y'; $navLink = fnc_buildUniqueLinkName($_POST['prefix'], $_POST['navId'], $_POST['new_subnavName']); $insert = $db->query('INSERT INTO ' . $_POST['prefix'] . '_' . $table . ' ( ' . $_POST['prefix'] . '_navId , ' . $_POST['prefix'] . '_navStart , ' . $_POST['prefix'] . '_navName , ' . $_POST['prefix'] . '_navTarget , ' . $_POST['prefix'] . '_navLink , ' . $_POST['prefix'] . '_navActive , ' . $_POST['prefix'] . '_navSort , ' . $_POST['prefix'] . '_specialSite , ' . $_POST['prefix'] . '_specialType ) VALUES ( NULL , "' . $_POST['navId'] . '" , "' . $_POST['new_subnavName'] . '" , "" , "' . $navLink . '" , "Y" , "' . $sort . '" , "' . $special . '" , "' . $_POST['new_subnavType'] . '" );') || $error = true; $new_navId = $db->insert_id; $update = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $_POST['prefix'] . '_navTarget = "index.php?siteId=' . $_POST['siteId'] . '&navId=' . $new_navId . '" WHERE ' . $_POST['prefix'] . '_navId = "' . $new_navId . '" LIMIT 1;') || $error = true; if ($error) { break; } if ($_POST['new_subnavType'] !== 'uebersicht') { if ($_POST['new_subnavType'] === 'content') { $headline = $db->query('INSERT INTO ' . $_POST['prefix'] . '_content_headline ( id , content ) VALUES ( null , "Neue Überschrift" );'); $h_id = $db->insert_id; $test = $db->query('INSERT INTO ' . $_POST['prefix'] . '_content_text ( id , content ) VALUES ( null , "Neuer Standardtext" );'); $t_id = $db->insert_id; $site = $db->query('INSERT INTO ' . $_POST['prefix'] . '_content ( id , siteId , siteContents ) VALUES ( null , "' . $new_navId . '" , "headline_' . $h_id . ';text_' . $t_id . '" );'); } else { $site = $db->query('INSERT INTO ' . $_POST['prefix'] . '_' . $_POST['new_subnavType'] . ' ( id , siteId ) VALUES ( null , "' . $new_navId . '" );'); } } ++$sort; while ($navi = $navis->fetch_assoc()) { $update = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET ' . $_POST['prefix'] . '_navSort = "' . $sort . '" WHERE ' . $_POST['prefix'] . '_navId = "' . $navi[$_POST['prefix'] . '_navId'] . '" LIMIT 1;') || $error = true; if ($error) { break; } ++$sort; } break; default : var_dump($_POST); break; } if (!$error) { echo 'SUCCESS'; } else { echo 'ERROR'; } } else { $columns = $db->query('SHOW COLUMNS FROM ' . $_POST['prefix'] . '_' . $table . ';'); $fieldNames = array(); while ($column = $columns->fetch_assoc()) { $fieldNames[] = $column['Field']; } foreach ($_POST as $key => $value) { if (in_array($key, $fieldNames)) { $data[$key] = $db->real_escape_string($value); } } if ($table === 'content_image') { if (!is_dir(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'])) { mkdir(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'], 0755); } /* Bilddaten auslesen */ $imageData = explode(',', $_POST['uploadFile']); /* Bilddaten dekodieren */ $mimetype = str_replace(array('data:', ';base64'), '', $imageData[0]); $encodedData = str_replace(' ', '+', $imageData[1]); $decodedData = base64_decode($encodedData); /* Bildnamen und Erweiterung generieren */ $keys = (array_keys($vC['mimetypes'], $mimetype)); $extension = $keys[0]; $file_name = fnc_buildUniqueFileName($_POST['prefix'], $_POST['navId'], $_POST['imgName'], $extension); /* Originales Bild speichern */ $file_name_orig = substr($file_name, 0, strrpos($file_name, '.')) . '_orig' . substr($file_name, strrpos($file_name, '.')); file_put_contents(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $file_name_orig, $decodedData); /* Bilddaten aus Editor generieren */ $img_created = fnc_buildImage(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/', $file_name_orig, $extension, ${$_POST['prefix']}['dim' . strtoupper(substr($_POST['dataSet'], 0, 1)) . substr($_POST['dataSet'], 1)], $_POST); /* Thumbnail aus generiertem Bild erzeugen */ if (!is_null(${$_POST['prefix']}[$_POST['dataSet'] . 'Thumb'])) { $thumb = fnc_buildThumbnail(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/', $file_name, $extension, ${$_POST['prefix']}[$_POST['dataSet'] . 'Thumb']); } /* Werte für Datenbank aktualisieren */ $data['imgExtension'] = $db->real_escape_string($extension); $data['imgName'] = $db->real_escape_string(str_replace('.' . $extension, '', $file_name)); if (!$img_created || !$thumb) { $error = true; } } else if ($table === 'content_textimage') { if (!is_dir(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'])) { mkdir(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'], 0755); } /* Bildnamen und Erweiterung generieren */ $extension = 'jpg'; $file_name = fnc_buildUniqueFileName($_POST['prefix'], $_POST['navId'], 'sample_image', $extension); /* Originales Bild speichern */ $file_name_orig = substr($file_name, 0, strrpos($file_name, '.')) . '_orig' . substr($file_name, strrpos($file_name, '.')); copy(WEBSERVICE_MED . $_POST['prefix'] . '/sample_image.jpg', WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $file_name_orig); copy(WEBSERVICE_MED . $_POST['prefix'] . '/sample_image.jpg', WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $file_name); /* Thumbnail aus generiertem Bild erzeugen */ if (!is_null(${$_POST['prefix']}['imageThumb'])) { $thumb = fnc_buildThumbnail(WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/', $file_name, $extension, ${$_POST['prefix']}['imageThumb']); } if (!$thumb) { $error = true; } $img_extension = $db->real_escape_string($extension); $img_name = $db->real_escape_string(str_replace('.' . $extension, '', $file_name)); $img_title = $db->real_escape_string('Sample Image'); $image = $db->query('INSERT INTO ' . $_POST['prefix'] . '_' . TBL_IMAGE . ' (imgName, imgExtension, imgOrigname, imgTitle, previewWidth, previewHeight) VALUES ("' . $img_name . '", "' . $img_extension . '", "' . $img_name . '.' . $img_extension . '", "' . $img_title . '", "' . ${$_POST['prefix']}['dimImage']['width'] . '", "' . ${$_POST['prefix']}['dimImage']['width'] * 4 / 3 . '");'); $image_id = $db->insert_id; $text = $db->query('INSERT INTO ' . $_POST['prefix'] . '_' . TBL_TEXT . ' VALUES (NULL, "' . $_POST['content'] . '" );'); $text_id = $db->insert_id; $data['content_text_id'] = $text_id; $data['content_image_id'] = $image_id; } $keys = array(); $values = array(); foreach ($data as $key => $value) { $keys[] = $key; $values[] = '"' . $value . '"'; } /* Daten in Tabelle schreiben */ if (!empty ($data) && $error === false) { $result = $db->query('INSERT INTO ' . $_POST['prefix'] . '_' . $table . ' ( ' . implode(' , ', $keys) . ' ) VALUES ( ' . implode(' , ', $values) . ' );'); if ($result !== false) { if ($_POST['dataSet'] === 'keyvisual') { $insert = $db->insert_id; $update = $db->query('UPDATE ' . $_POST['prefix'] . '_' . TBL_NAVI . ' SET ' . $_POST['prefix'] . '_keyvisual = "' . $insert . '" WHERE ' . $_POST['prefix'] . '_navId = "' . $_POST['navId'] . '" LIMIT 1;'); if ($update) { $error = false; } else { $error = true; } } elseif ($table === 'content_text' || $table === 'content_subline' || $table === 'content_textimage') { $insert = $db->insert_id; $siteContents = $_POST['order']; foreach ($siteContents as $key => $value) { $content = explode('_', $value); $siteContents[$key] = str_replace('content_', '', $value); if (!is_numeric(end($content))) { $siteContents[$key] .= $insert; } } $update = $db->query('UPDATE ' . $_POST['prefix'] . '_' . TBL_CONTENT . ' SET siteContents = "' . implode(';', $siteContents) . '" WHERE siteId = "' . $_POST['navId'] . '" LIMIT 1;'); if ($update) { echo json_encode($insert); die(); } else { $error = true; } } elseif (isset ($_POST['formAction']) && $_POST['formAction'] === 'appendContent') { /** * TODO: Ist das nötig? */ $newId = $table . '_' . $db->insert_id; $mainSet = explode('_', $_POST['mainContent']); $oldContent = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $mainSet[0] . ' WHERE id = "' . $mainSet[1] . '";'); $content = $oldContent->fetch_assoc(); $siteContent = ($content['siteContents'] === '') ? $newId : $content['siteContents'] . ';' . $newId; $update = $db->query('UPDATE ' . $_POST['prefix'] . '_' . $mainSet[0] . ' SET siteContents = "' . $siteContent . '" WHERE id = "' . $mainSet[1] . '" LIMIT 1;'); if ($update) { json_encode($update); die(); } else { $error = true; } } else { $error = false; } } else { $error = true; } } if ($error === false) { echo 'SUCCESS'; } else { echo 'ERROR'; } } } else if ($_POST['request'] === 'deleteData') { $error = false; if ($table === 'content_image') { $imageData = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE id = ' . $id . ';'); $image = $imageData->fetch_assoc(); $file_path = WEBSERVICE_MED . $_POST['prefix'] . '/' . $_POST['navId'] . '/' . $image['imgName']; /* Alte Bilddaten löschen */ unlink($file_path . '.' . $image['imgExtension']); unlink($file_path . '_orig.' . $image['imgExtension']); unlink($file_path . '_thumb.' . $image['imgExtension']); $contentData = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE id = "' . $_POST['firstImage'] . '";'); $content = $contentData->fetch_assoc(); $sliderContents = explode(';', $content['sliderContent']); $sliderKey = array_keys($sliderContents, $id); if (!empty($sliderKey)) { unset($sliderContents[$sliderKey[0]]); $db->query('UPDATE ' . $_POST['prefix'] . '_' . $table . ' SET sliderContent = "' . implode(';', $sliderContents) . '" WHERE id = "' . $content['id'] . '" LIMIT 1;'); } } $result = ($table === 'content') ? $db->query('DELETE FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE siteId = "' . $id . '" LIMIT 1;') : $db->query('DELETE FROM ' . $_POST['prefix'] . '_' . $table . ' WHERE id = "' . $id . '" LIMIT 1;'); if ($result && $table !== 'content_image') { $content_part = str_replace('content_', '', $_POST['dataSet']); $content_data = $db->query('SELECT * FROM ' . $_POST['prefix'] . '_' . TBL_CONTENT . ' WHERE siteId = "' . $_POST['navId'] . '";'); $content = $content_data->fetch_assoc(); $siteContents = explode(';', $content['siteContents']); $content_key = array_keys($siteContents, $id); if (!empty($content_key)) { unset ($siteContents[$content_key[0]]); $db->query('UPDATE ' . $_POST['prefix'] . '_' . TBL_CONTENT . ' SET siteContents = "' . implode(';', $siteContents) . '" WHERE id = "' . $content['id'] . '" LIMIT 1;') || $error = true; } } if (!$error) { echo 'SUCCESS'; } else { echo 'ERROR'; } }