HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/verrassendveel.komma.pro/wwwroot/admin/php/js_media.php
<?php
session_start();

/* 
	
	LANGSTRAAT
	
	js_media.php 
	this page is loadad in forms with jquery (for example add product)

	Mike Ontwerpt 2012
	www.mikeontwerpt.nl
	
*/

/* reinclude sources (because this is a jquery-loaded pages) */
include_once $_SERVER['DOCUMENT_ROOT'] . '/config/komma.php';
require_once 'connect.php';
require_once 'functions.php';

/* check if folderstring sessions needs to be updates (when clicked on a folder */
isset($_GET['folderstr']) ?
	$_SESSION['folder-string'] = $_GET['folderstr'] :
	$_SESSION['folder-string'] = 'root';


if(isset($_GET['sessionname'])){ $sessionname = $_GET['sessionname']; }else{ $sessionname = 'empty'; }

/* as image or as shortcode ? */
if(!isset($_GET['method'])){ $method = 'insertAsImage'; }
else{ $method = $_GET['method']; }

/* name of the target */
if(!isset($_GET['target'])){ $target = 'lib-holder'; }
else{ $target = $_GET['target']; }

/* start output */
$output = '';
if(isset($_GET['action'])){
	$action = $_GET['action'];
	switch($action){
		case 'showSessionImages' :
			/* add image to session */
			$output .= showSessionImages($sessionname, $target);
		break;
		default:
		/* content -> load folders & files */
		$output .= displayContent($sessionname,$method, $target);
	}
}
else{
	$output .= displayContent($sessionname,$method, $target);
}

/* echo */
echo $output;


function displayContent($sessionname, $method, $target){
	/* access the global sql object */
	global $mysqli;	
	#1 DISPLAY FOLDERS

    $output = '';

	/* folder structure - where am i */
	$output .= showFolderStructure($sessionname,$method, $target);
	
	//always show one row
	$output .= '<div class="triple-column jsMedia-Holder">';
		$output .= '<div class="medialib-thumb-row">';
		
		
		isset($_SESSION['folder-string']) ? $currentString = $_SESSION['folder-string'] : $currentString = 'root';
		$query = 'SELECT DISTINCT f.id, f.title, f.folderstring
				FROM media_folders AS f, content_status AS s
				WHERE f.id = s.itemId
				AND s.linkname = "media_folders"
				AND s.active = "1"
				AND f.folderstring LIKE "'.$currentString.'%"
				AND f.folderstring != "'.$currentString.'"
				ORDER BY f.title';  			
		if(!$result = $mysqli->query($query)){
			//handle errors
			$errors[] = $siteLabels['fm-somethingwentwrong'];
			displayErrors($errors);
		}
		else{
			//display folders
			$colcount = 0;
			while($record = $result->fetch_assoc()){
				$folderId = $record['id'];
				$title = fromDatabase($record['title']);
				$folderstring = $record['folderstring'];
				
				//only display when we are on the right level
				$temp = explode('_',$_SESSION['folder-string']);
				$currentLevel = count($temp); //level where we are 
				$temp2 = explode('_',$folderstring);
				$thisLevel = count($temp2); // level of folder			
				if($thisLevel == ($currentLevel+1)){
					//display
					$output .= '<div class="medialib-thumb-holder">';
						//$output .= '<a href="./media/'.$folderstring.'/">';
							$output .= '<span class="medialib-thumb-folder" onClick="getPage(\''.$target.'\',\'js_media\',\'folderstr='.$folderstring.'&sessionname='.$sessionname.'&method='.$method.'&target='.$target.'\');"></span>';
							$output .= '<span class="medialib-thumb-title">';	
								$output .= $title;
							$output .= '</span>';
						//$output .= '</a>';	
						$output .= '<div class="medialib-thumb-actions">';
						$output .= '</div>';
					$output .= '</div>';
					
					$colcount++;
					if($colcount == 5){
						$output .= '<div class="clear"></div>';
						$output .= '</div>';
						$output .= '<div class="medialib-thumb-row">';
						$colcount = 0;
					}
				}
			}		
		}
		
		#2 DISPLAY FILES
		$query = 'SELECT DISTINCT f.id, f.type, f.title, f.cp_thumb, f.shortcode
				FROM media_files AS f, content_status AS s
				WHERE f.id = s.itemId
				AND s.linkname = "media_files"
				AND s.active = "1"
				AND f.folderstring = "'.$currentString.'"
				ORDER BY f.title';
		if(!$result = $mysqli->query($query)){
			//handle errors
			$errors[] = $siteLabels['fm-somethingwentwrong'];
			displayErrors($errors);
		}
		else{
			while($record = $result->fetch_assoc()){
				$fileId = $record['id'];
				$type = $record['type'];
				$shortcode = $record['shortcode'];
				$title = fromDatabase($record['title']);
				$thumb = '../images/uploads/thumb/'.$record['cp_thumb'];
				
			///////// voor deense kroon:
				$stockcode = '';
				if($stockResult = $mysqli->query('SELECT stockCode FROM product_instances WHERE shortcode = "'.$shortcode.'" LIMIT 1')){
					$stockRecord = $stockResult->fetch_assoc();
					$stockcode = urlencode($stockRecord['stockCode']);						
				}
			/////////
				
				
				//display files
				if($method == 'insertAsImage') {
					$output .= '<div class="medialib-thumb-holder" onClick="getPage(\'form-images-holder\',\'js_media\',\'action=showSessionImages&update=1&sessionname='.$sessionname.'&shortcode='.$shortcode.'&mediaid='.$fileId.'&stockcode='.$stockcode.'\')">';
				}
				if($method == 'insertAsShortcode'){
					 $output .= '<div class="medialib-thumb-holder" onclick="checkInsert(\''.$shortcode.'\');">';
				}
						if($type == 2) $output .= '<span class="medialib-thumb-vimeo">';
						if($type == 3) $output .= '<span class="medialib-thumb-youtube">';
						if($type == 1) $output .= '<span class="medialib-thumb-image">';
						if($type == 4) $output .= '<span class="medialib-thumb-docs">';

						if($type == 1) $output .= '<img src="'.$thumb.'" alt="'.$title.'" />';
						$output .= '</span>';
						$output .= '<span class="medialib-thumb-title">';	
							$output .= $title;
						$output .= '</span>';
					$output .= '<div class="medialib-thumb-actions">';
						$output .= $shortcode;
					$output .= '</div>';
				$output .= '</div>';
				
				$colcount++;
				if($colcount == 5){
					$output .= '<div class="clear"></div>';
					$output .= '</div>';
					$output .= '<div class="medialib-thumb-row">';
					$colcount = 0;
				}
			}
		}
		
		$output .= '<div class="clear"></div>';
		$output .= '</div>';
		//end first row
		
		//end form for checkboxes
	$output .= '</div>';
	
	return $output;
}




/* SHOW FOLDER STRUCTURE */

function showFolderStructure($sessionname,$method, $target){
	/* access the global sql object */
	global $mysqli;	
	
	$output = '';
	/* folder structure - where am i */
	$output .= '<div id="jsfolder-structure-holder">';

	#1 always start with media
    if(isset($_SESSION['folder-string']) && $_SESSION['folder-string'] == 'root'){
        //if isset sub media is not active
        $output .= '<span class="small-active-folder" onClick="getPage(\''.$target.'\',\'js_media\',\'folderstr=root&sessionname='.$sessionname.'&method='.$method.'&target='.$target.'\');"></span>';
    }
    else{
        //if !isset sub media is active
        $output .= '<span class="small-folder" onClick="getPage(\''.$target.'\',\'js_media\',\'folderstr=root&sessionname='.$sessionname.'&method='.$method.'&target='.$target.'\');"></span>';
    }
    $output .= '<span  onClick="getPage(\''.$target.'\',\'js_media\',\'folderstr=root&sessionname='.$sessionname.'&method='.$method.'&target='.$target.'\');">media</span>';

	#2 get the rest 
	//explode string
	$folders = explode('_',$_SESSION['folder-string']);
	$foldersUrl = explode('_',$_SESSION['folder-string']);

	//folders[0] == root
	if(count($folders) > 1){
		foreach($folders as $key => $linkname){
			//get title of each folder
			$query = 'SELECT title
					FROM media_folders
					WHERE folderstring LIKE "%'.$linkname.'" LIMIT 1';  			
			if(!$result = $mysqli->query($query)){
				//handle errors
				$errors[] = $siteLabels['fm-somethingwentwrong'];
				displayErrors($errors);
			}
			else{
				//get info
				$record = $result->fetch_assoc();
				$title = fromDatabase($record['title']);
				
				//display folders
				if($key != 0){ //0 = 'root'
					//folder
					$output .= ' &rsaquo; ';
					//for loop for the link
					//$output .= '<a href="./media/';
						$url = 'root_';
						for($i=1;$i<=$key;$i++){	
							$url .= $folders[$i].'_';
						}
						//substract last _
						$url = substr($url,0,(strlen($url)-1));
						
					//$output .= '">';
					//folder
					$key == (count($folders)-1) ? $output .= '<span class="small-active-folder" onClick="getPage(\''.$target.'\',\'js_media\',\'folderstr='.$url.'&method='.$method.'&target='.$target.'&sessionname='.$sessionname.'\');"></span>' : $output .= '<span class="small-folder"  onClick="getPage(\''.$target.'\',\'js_media\',\'folderstr='.$url.'&method='.$method.'&target='.$target.'&sessionname='.$sessionname.'\');"></span>';
					$output .= '<span onClick="getPage(\''.$target.'\',\'js_media\',\'folderstr='.$url.'&target='.$target.'&sessionname='.$sessionname.'\');">'.$title.'</span>';	
					//$output .= '</a>';
				}			
			}			
		}			
	}
	
	$output .= '</div>';	
	return $output;
}


function showSessionImages($sessionname, $target){
	/* access the global sql object */
	global $mysqli;	
	//need an update?
	if(isset($_GET['update'])){	
		if($_GET['update'] == 1){
			//need the shortcode and the form-session 
			$shortcode = $_GET['shortcode'];
		//	$stockcode = urldecode($_GET['stockcode']);
			$key = $_GET['mediaid'];
			$_SESSION[$sessionname]['shortcodes'][$key] = $shortcode;
		//	$_SESSION[$sessionname]['stockcodes'][$key] = $stockcode;
			
		}
		else if($_GET['update'] == 2){
			//unset key from session
			$key = $_GET['key'];
			unset($_SESSION[$sessionname]['shortcodes'][$key]);
		//	unset($_SESSION[$sessionname]['color'][$key]);
		//	unset($_SESSION[$sessionname]['stockcodes'][$key]);
		}
	}
	
	$output = '';

	//display images
	$order = array();

    if( ! isset($_SESSION[$sessionname]['shortcodes'])) $_SESSION[$sessionname]['shortcodes'] = [];

	foreach($_SESSION[$sessionname]['shortcodes'] as $key => $shortcode){
		//get url from database
		$query = 'SELECT f.cp_thumb
				FROM media_files AS f, content_status AS s
				WHERE f.id = s.itemId
				AND s.linkname = "media_files"
				AND s.active = "1"
				AND f.shortcode = "'.$shortcode.'"
				LIMIT 1';
		if(!$result = $mysqli->query($query)){
			//handle errors
		}
		else{
			$record = $result->fetch_assoc();
			$url = $record['cp_thumb'];
			
			$output .= '<div class="medialib-thumb-holder">';
				$output .= '<span class="medialib-thumb-image">';
					$output .= '<img src="../images/uploads/thumb/'.$url.'" alt="'.$shortcode.'" />';
				$output .= '</span><br />';
				/* color */
				/*
				$output .= '<input type="text" name="product-color" value="" class="mediatxt color" id="product-color'.$key.'" onchange="updateColorSession(\''.$sessionname.'\',\''.$key.'\',this.color,\'product-color'.$key.'\');"/>';
				$output .= '<input type="text" name="product-stockcode" value="'.$_SESSION[$sessionname]['stockcodes'][$key].'" class="mediatxt" id="product-stockcode'.$key.'" onchange="updateStockcodeSession(\''.$sessionname.'\',\''.$key.'\',this.value,\'product-stockcode'.$key.'\');"/>';
				//init jscolor
				isset($_SESSION[$sessionname]['color'][$key]) ? $color = $_SESSION[$sessionname]['color'][$key] : $color = $_SESSION[$sessionname]['color'][$key] = 'ffffff'; 
				$output .= '<script type="text/javascript">
							var myPicker = new jscolor.color(document.getElementById("product-color'.$key.'"), {})
								myPicker.fromString("'.$color.'") 
							</script>';
				*/
				$output .= '<span class="deleteImageFromSession-button" onClick="getPage(\'form-images-holder\',\'js_media\',\'action=showSessionImages&update=2&sessionname='.$sessionname.'&key='.$key.'\');">&times;</span>';
				
			$output .= '</div>';
			
			$order[] = $key;

		}
	}

	return $output;
}

?>