CMXX - Catalog API
This commit is contained in:
@@ -26,6 +26,8 @@ $product = [
|
||||
'productname' => '',
|
||||
'productdescription' => '',
|
||||
'softwareversion' => 'v1.0',
|
||||
'product_media' =>'',
|
||||
'full_path' =>'',
|
||||
'created' => '',
|
||||
'createdby' => $_SESSION['username'],
|
||||
'parttype' => 1,
|
||||
@@ -52,6 +54,20 @@ if (isset($_GET['id'])) {
|
||||
|
||||
$product = json_decode(json_encode($responses[0]), true);
|
||||
|
||||
//CALL TO API
|
||||
$api_url = '/v2/media/';
|
||||
$media_responses = ioServer($api_url,'');
|
||||
|
||||
//Decode Payload
|
||||
if (!empty($media_responses)){$media_responses = json_decode($media_responses,true);}else{$media_responses = null;}
|
||||
|
||||
//GET PATH OF ASSIGNED MEDIA
|
||||
foreach ($media_responses as $media){
|
||||
if($media['rowID'] == $product['product_media']){
|
||||
$product['full_path'] = $media['full_path'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($update_allowed === 1){
|
||||
if (isset($_POST['file_upload'])){
|
||||
uploadProduct($_POST['productcode']);
|
||||
@@ -161,17 +177,21 @@ $view .= '<div class="content-block tab-content active">
|
||||
<input id="name" type="text" name="productcode" placeholder="'.$product_code.'" value="'.$product['productcode'].'" required>
|
||||
<label for="productname"><i class="required">*</i>'.$product_name.'</label>
|
||||
<input id="name" type="text" name="productname" placeholder="'.$product_name.'" value="'.$product['productname'].'" required>
|
||||
<label for="productname"><i class="required">*</i>'.($product_slug ?? 'Product_slug').'</label>
|
||||
<input id="name" type="text" name="url_slug" placeholder="'.($product_slug ?? 'Product_slug').'" value="'.$product['url_slug'].'">
|
||||
<label for="productdescription">'.$product_description.'</label>
|
||||
<textarea id="description" name="productdescription" placeholder="'.$product_description.'">'.$product['productdescription'].'</textarea>
|
||||
<label for="softwareversion">'.$product_software.'</label>
|
||||
<input id="name" type="text" name="softwareversion" placeholder="'.$product_software.'" value="'.$product['softwareversion'].'">
|
||||
<label for="price"><i class="required">*</i> '.$product_price.' </label>
|
||||
<input id="price" type="number" name="price" placeholder="'.$product_price.'" min="0" step=".01" value="'.$product['price'].'" required>
|
||||
<input type="hidden" name="rowID" value="'.$product['rowID'].'">
|
||||
<input type="hidden" name="rowID" value="'.$product['rowID'].'">
|
||||
<input id="source_'.$product['rowID'].'" type="hidden" name="product_media" value="'.$product['product_media'].'">
|
||||
<img id="image_'.$product['rowID'].'" src="'.$product['full_path'].'" alt="" style="display: block; max-width: 75px;">
|
||||
<button type="button" class="btn" id="openSelectorBtn" onclick="setSourceID(\''.$product['rowID'].'\'), openDialog(\'image_'.$product['rowID'].'\')">'.($button_assign_image ?? 'Assign Image').'</button>
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
|
||||
$view .= '<div class="content-block tab-content">
|
||||
<div class="form responsive-width-100">
|
||||
<label for="serialized">'.($product_configurable ?? 'Configurable').'</label>
|
||||
@@ -216,13 +236,65 @@ $view .= '<div class="content-block tab-content">
|
||||
</div>';
|
||||
$view .= '</form>';
|
||||
|
||||
$view .= '<form action="" method="post" style="padding: 20px;" enctype="multipart/form-data">
|
||||
<input type="hidden" value="'.$product['rowID'].'" name="file_upload" />
|
||||
<input type="hidden" name="productcode" value="'.$product["productcode"].'"/>
|
||||
<input type="file" name="fileToUpload" id="fileToUpload" onchange="this.form.submit()" accept=".jpg, .jpeg, .png">
|
||||
</form>
|
||||
$view .= '<!-- Image Selector Dialog -->
|
||||
<dialog id="imageSelector" style="padding: 20px; max-width: 800px;">
|
||||
<h3>Select an Image</h3>
|
||||
<div style="display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 20px 0;">';
|
||||
|
||||
foreach ($media_responses as $media_response){
|
||||
$view .= '
|
||||
<img src="'.$media_response['full_path'].'" id="'.$media_response['rowID'].'" style="width: 100%; cursor: pointer; border: 2px solid transparent;" onmouseover="this.style.border=\'2px solid #4CAF50\'" onmouseout="this.style.border=\'2px solid transparent\'" onclick="selectImage(this.id,this.src)">
|
||||
';
|
||||
}
|
||||
$view .= '</div>
|
||||
<button onclick="closeImageSelector()">Close</button>
|
||||
</dialog>
|
||||
';
|
||||
|
||||
|
||||
$view .= '<script>
|
||||
//POPUP FOR IMAGE SELECTION
|
||||
const dialog = document.getElementById(\'imageSelector\');
|
||||
image_source_id = 0;
|
||||
//const openButton = document.getElementById(\'openSelectorBtn\');
|
||||
|
||||
function setSourceID(sourceid){
|
||||
image_source_id = "source_"+sourceid;
|
||||
image_source_src = "image_"+sourceid;
|
||||
}
|
||||
|
||||
function openDialog(){
|
||||
dialog.showModal();
|
||||
}
|
||||
|
||||
function selectImage(id,src) {
|
||||
|
||||
if (image_source_id != 0){
|
||||
const selectedImageInput = document.getElementById(image_source_id);
|
||||
const previewImage = document.getElementById(image_source_src);
|
||||
|
||||
selectedImageInput.value = id;
|
||||
previewImage.src = src;
|
||||
|
||||
}
|
||||
else {
|
||||
const selectedImageInput = document.getElementById(\'selectedImage\');
|
||||
const previewImage = document.getElementById(\'previewImage\');
|
||||
|
||||
selectedImageInput.value = id;
|
||||
previewImage.src = src;
|
||||
previewImage.style.display = \'block\';
|
||||
}
|
||||
|
||||
dialog.close();
|
||||
}
|
||||
|
||||
function closeImageSelector() {
|
||||
dialog.close();
|
||||
}
|
||||
|
||||
</script>';
|
||||
|
||||
//Output
|
||||
echo $view;
|
||||
template_footer()?>
|
||||
Reference in New Issue
Block a user