<?php
/*
	CMS ,,Black Min''  Został stworzony przez di_Timonix'a
	
	ten plik służy do wyciągania z bazy struktury całego menu głównego
	
	#Zawannsowane szukanie
	
	Black Min cms,
	
	#plik: 1.1
*/

	// przyłączanie pliku do połączenia z bazą danych 
	// ładowanie jądra black mina
	require_once "../black-min.php";
	
	
	// otwieranie połączenie z bazą danych i stosowanie określonego zapyta
	// renderowanie odpowiedniego wyniku struktury menu

		mysqli_report(MYSQLI_REPORT_STRICT);
			
		try 
		{
			$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
			if ($polaczenie->connect_errno!=0)
			{
				throw new Exception(mysqli_connect_errno());
			}
			else
			{		
				mysqli_query($polaczenie, "SET CHARSET utf8");
				mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");		
				
				// zapytanie ładujące główną strukture menu
				$rezultat = "SELECT * FROM `".$prefix_table."bm_ustawienia_bm` WHERE `bm_nazwa` LIKE 'bm_menu_structur'";
				$wynik = $polaczenie->query($rezultat);
				
					$row = mysqli_fetch_assoc($wynik);
					$id_menu_structur = $row['id'];
					$nazwa_menu_structur = $row['bm_nazwa'];
					$menu_structur = $row['bm_wartosc'];
				
				// rozkładanie na czyniki pierwsze struktury menu głównego for id
				$menu_structur = json_decode($menu_structur, true);
				
				// zliczanie zawartości id struktury menu
				$ile_load = count($menu_structur);
				$ile_load2 = count($menu_structur);
				
				$zlicz_all_menu = 0;
				


echo<<<END

								<div class="cf sortiner-lists animation-cler">

									<div class="tsr sortiner" id="sortiner">
										<ol class="sortiner-list sortiner-clone">

END;
				
				// sprawdzenie czy menu ma jakiś item
				if ($ile_load >= 1){
					
					// odejmowanie jedynki od zliczonego elementu
					// sprowadzenie wyniku do stanu logicznego dla tablicy
					$ile_load = $ile_load-1;
					
					for ($i = 0; $i <= $ile_load; $i++) 
					{
						
						// dodanie rekordu do zliczenia
						$zlicz_all_menu = $zlicz_all_menu + 1 ;
						
						// przypisywanie elementu tablicy do zmiennej
						$menu_element1 = $menu_structur[$i]['id'];
						
						$rezultat2 = "SELECT * FROM `".$prefix_table."bm_postmeta` WHERE `bm_nazwa` LIKE 'menu_item' AND `id` = '$menu_element1'";
						$wynik2 = $polaczenie->query($rezultat2);
					
						$ile2 = mysqli_num_rows($wynik2);
						$ile2 = $ile2-1;
						
						// pobieranie wartości z bazy danych
						$row2 = mysqli_fetch_assoc($wynik2);
						$id_menu_item = $row2['id'];
						$tytul_menu_item = $row2['bm_nazwa'];
						$menu_item = $row2['bm_wartosc'];
						
						//odszyfrowywanie jsona item menu 
						$menu_items = json_decode($menu_item, true);
						
						$tytul_menu = $menu_items['0'];
						$url_menu = $menu_items['1'];
						$itemtype_menu = $menu_items['2'];
						$tytul_menu = utf8_decode ( $tytul_menu );
						$url_menu = utf8_decode ( $url_menu );
						$itemtype_menu = utf8_decode ( $itemtype_menu );

echo<<<END

							<li class="sortiner-item sortiner-rename" data-id="$id_menu_item">
								<div class="sortiner-handle ">$tytul_menu</div>
								<section class="black sortiner-rename-button">+</section>
								<section class="sortiner-rename-section" style="display: none;">
									<section class="tsr fs-100">
										<section class="col-ms40 tsr-mt-10">
											Własny url
										</section>
										<section class="col-ms60">
											<input type="text" name="adres-url-rename" class="input" placeholder="Edytuj url" value="$url_menu"/>
										</section>
									</section>
									<section class="tsr fs-100">									
										<section class="col-ms40 tsr-mt-10">
											Własny Tytuł
										</section>
										<section class="col-ms60">
											<input type="text" name="tytul-menu-rename" class="input" placeholder="Edytuj Tytuł" value="$tytul_menu"/>
											<input type="hidden" name="item_type" class="input tsr-display-none" value="$itemtype_menu"/>
										</section>
									</section>	
									<section class="tsr tsr-mt-20">
										<button type="button" class="submit" value="Edytuj element menu" id="edytuj_element_menu" >
											Edytuj element menu
										</button>
									</section>
									<section class="tsr r-0 fs-100 tsr-visable-hover add-text-alert-rename">
										<section class="tsr-fr tsr-button tsr-visable-hover-element red delete-post">
											<a class="sortiner-delete-buton">
												Usuń post
											</a>											
										</section>
										<section class="tsr-fr tsr-button tsr-visable-hover-element edit-post">
											<a class="sortiner-rename-button">
												schowaj/anuluj
											</a>	
										</section>
									</section>
									<section class="tsr-mt-5">
										edytuj element menu > $itemtype_menu
									</section>
								</section>
								
END;

								if (isset($menu_structur[$i]['children']) === true) {
									
echo<<<END

									<ol class="sortiner-list">

END;

									// zliczanie ile rodzic ma dzieci
									$zlicz1 = count($menu_structur[$i]['children']);
									$zlicz1 = $zlicz1-1;

									for ($ii = 0; $ii <= $zlicz1; $ii++) 
									{
										
										// dodanie rekordu do zliczenia
										$zlicz_all_menu = $zlicz_all_menu + 1 ;
							
										// przypisywanie elementu tablicy do zmiennej
										$menu_element2 = $menu_structur[$i]['children'][$ii]['id'];
										
										$rezultat3 = "SELECT * FROM `".$prefix_table."bm_postmeta` WHERE `bm_nazwa` LIKE 'menu_item' AND `id` = '$menu_element2'";
										$wynik3 = $polaczenie->query($rezultat3);
									
										$ile3 = mysqli_num_rows($wynik3);
										$ile3 = $ile3-1;
										
										// pobieranie wartości z bazy danych
										$row3 = mysqli_fetch_assoc($wynik3);
										$id_menu_item2 = $row3['id'];
										$tytul_menu_item2 = $row3['bm_nazwa'];
										$menu_item2 = $row3['bm_wartosc'];
										
										//odszyfrowywanie jsona item menu 
										$menu_items2 = json_decode($menu_item2, true);
										
										$tytul_menu2 = $menu_items2['0'];
										$url_menu2 = $menu_items2['1'];
										$itemtype_menu2 = $menu_items2['2'];
										$tytul_menu = utf8_decode ( $tytul_menu );
										$url_menu = utf8_decode ( $url_menu );
										$itemtype_menu = utf8_decode ( $itemtype_menu );

echo<<<END

											<li class="sortiner-item sortiner-rename" data-id="$id_menu_item2">
												<div class="sortiner-handle ">$tytul_menu2</div>
												<section class="black sortiner-rename-button">+</section>
												<section class="sortiner-rename-section" style="display: none;">
													<section class="tsr fs-100">
														<section class="col-ms40 tsr-mt-10">
															Własny url
														</section>
														<section class="col-ms60">
															<input type="text" name="adres-url-rename" class="input" placeholder="Edytuj url" value="$url_menu2"/>
														</section>
													</section>
													<section class="tsr fs-100">									
														<section class="col-ms40 tsr-mt-10">
															Własny Tytuł
														</section>
														<section class="col-ms60">
															<input type="text" name="tytul-menu-rename" class="input" placeholder="Edytuj Tytuł" value="$tytul_menu2"/>
															<input type="hidden" name="item_type" class="input tsr-display-none" value="$itemtype_menu"/>
														</section>
													</section>	
													<section class="tsr tsr-mt-20">
														<button type="button" class="submit" value="Edytuj element menu" id="edytuj_element_menu" >
															Edytuj element menu
														</button>
													</section>
													<section class="tsr r-0 fs-100 tsr-visable-hover add-text-alert-rename">
														<section class="tsr-fr tsr-button tsr-visable-hover-element red delete-post">
															<a class="sortiner-delete-buton">
																Usuń post
															</a>											
														</section>
														<section class="tsr-fr tsr-button tsr-visable-hover-element edit-post">
															<a class="sortiner-rename-button">
																schowaj/anuluj
															</a>	
														</section>
													</section>
													<section class="tsr-mt-5">
														edytuj element menu > $itemtype_menu2
													</section>
												</section>
								
END;

												if (isset($menu_structur[$i]['children'][$ii]['children']) === true) {
									
echo<<<END

													<ol class="sortiner-list">

END;

														// zliczanie ile rodzic ma dzieci
														$zlicz2 = count($menu_structur[$i]['children'][$ii]['children']);
														$zlicz2 = $zlicz2-1;

														for ($iii = 0; $iii <= $zlicz2; $iii++) 
														{
															
															// dodanie rekordu do zliczenia
															$zlicz_all_menu = $zlicz_all_menu + 1 ;
												
															// przypisywanie elementu tablicy do zmiennej
															$menu_element3 = $menu_structur[$i]['children'][$ii]['children'][$iii]['id'];
															
															$rezultat4 = "SELECT * FROM `".$prefix_table."bm_postmeta` WHERE `bm_nazwa` LIKE 'menu_item' AND `id` = '$menu_element3'";
															$wynik4 = $polaczenie->query($rezultat4);
														
															$ile4 = mysqli_num_rows($wynik4);
															$ile4 = $ile4-1;
															
															// pobieranie wartości z bazy danych
															$row4 = mysqli_fetch_assoc($wynik4);
															$id_menu_item3 = $row4['id'];
															$tytul_menu_item3 = $row4['bm_nazwa'];
															$menu_item3 = $row4['bm_wartosc'];
															
															//odszyfrowywanie jsona item menu 
															$menu_items3 = json_decode($menu_item3, true);
															
															$tytul_menu3 = $menu_items3['0'];
															$url_menu3 = $menu_items3['1'];
															$itemtype_menu3 = $menu_items3['2'];
															$tytul_menu = utf8_decode ( $tytul_menu );
															$url_menu = utf8_decode ( $url_menu );
															$itemtype_menu = utf8_decode ( $itemtype_menu );

echo<<<END

															<li class="sortiner-item sortiner-rename" data-id="$id_menu_item3">
																<div class="sortiner-handle ">$tytul_menu3</div>
																<section class="black sortiner-rename-button">+</section>
																<section class="sortiner-rename-section" style="display: none;">
																	<section class="tsr fs-100">
																		<section class="col-ms40 tsr-mt-10">
																			Własny url
																		</section>
																		<section class="col-ms60">
																			<input type="text" name="adres-url-rename" class="input" placeholder="Edytuj url" value="$url_menu3"/>
																		</section>
																	</section>
																	<section class="tsr fs-100">									
																		<section class="col-ms40 tsr-mt-10">
																			Własny Tytuł
																		</section>
																		<section class="col-ms60">
																			<input type="text" name="tytul-menu-rename" class="input" placeholder="Edytuj Tytuł" value="$tytul_menu3"/>
																			<input type="hidden" name="item_type" class="input tsr-display-none" value="$itemtype_menu"/>
																		</section>
																	</section>	
																	<section class="tsr tsr-mt-20">
																		<button type="button" class="submit" value="Edytuj element menu" id="edytuj_element_menu" >
																			Edytuj element menu
																		</button>
																	</section>
																	<section class="tsr r-0 fs-100 tsr-visable-hover add-text-alert-rename">
																		<section class="tsr-fr tsr-button tsr-visable-hover-element red delete-post">
																			<a class="sortiner-delete-buton">
																				Usuń post
																			</a>											
																		</section>
																		<section class="tsr-fr tsr-button tsr-visable-hover-element edit-post">
																			<a class="sortiner-rename-button">
																				schowaj/anuluj
																			</a>	
																		</section>
																	</section>
																	<section class="tsr-mt-5">
																		edytuj element menu > $itemtype_menu3
																	</section>
																</section>
								
END;



echo<<<END
								
															</li>			
			
END;
														}
echo<<<END

													</ol>

END;
												}

echo<<<END
								
											</li>			
			
END;
									}
echo<<<END

									</ol>

END;
									
								}

echo<<<END
								
							</li>			
			
END;
						
					}
				}	
				
				// sprawdzanie czy został dodany nowy element do menu
				
				$rezultat2 = "SELECT * FROM `".$prefix_table."bm_postmeta` WHERE `bm_nazwa` LIKE 'new_menu_item'";
				$wynik2 = $polaczenie->query($rezultat2);
					
				$ile2 = mysqli_num_rows($wynik2);
				$ile2 = $ile2 -1;

				for ($i = 0; $i <= $ile2; $i++) 
				{
					
					// pobieranie wartości z bazy danych
					$row2 = mysqli_fetch_assoc($wynik2);
					$id_menu_item = $row2['id'];
					$tytul_menu_item = $row2['bm_nazwa'];
					$menu_item = $row2['bm_wartosc'];
					
					//odszyfrowywanie jsona item menu 
					$menu_items = json_decode($menu_item, true);
					
					$tytul_menu = $menu_items['0'];
					$url_menu = $menu_items['1'];
					$itemtype_menu = $menu_items['2'];
					$tytul_menu = utf8_decode ( $tytul_menu );
					$url_menu = utf8_decode ( $url_menu );
					$itemtype_menu = utf8_decode ( $itemtype_menu );

echo<<<END

						<li class="sortiner-item sortiner-rename" data-id="$id_menu_item">
							<div class="sortiner-handle ">$tytul_menu</div>
							<section class="black sortiner-rename-button">+</section>
							<section class="sortiner-rename-section" style="display: none;">
								<section class="tsr fs-100">
									<section class="col-ms40 tsr-mt-10">
										Własny url
									</section>
									<section class="col-ms60">
										<input type="text" name="adres-url-rename" class="input" placeholder="Edytuj url" value="$url_menu"/>
									</section>
								</section>
								<section class="tsr fs-100">									
									<section class="col-ms40 tsr-mt-10">
										Własny Tytuł
									</section>
									<section class="col-ms60">
										<input type="text" name="tytul-menu-rename" class="input" placeholder="Edytuj Tytuł" value="$tytul_menu"/>
										<input type="hidden" name="item_type" class="input tsr-display-none" value="$itemtype_menu"/>
									</section>
								</section>	
								<section class="tsr tsr-mt-20">
									<button type="button" class="submit" value="Edytuj element menu" id="edytuj_element_menu" >
										Edytuj element menu
									</button>
								</section>
								<section class="tsr r-0 fs-100 tsr-visable-hover add-text-alert-rename">
									<section class="tsr-fr tsr-button tsr-visable-hover-element red delete-post">
										<a class="sortiner-delete-buton">
											Usuń post
										</a>											
									</section>
									<section class="tsr-fr tsr-button tsr-visable-hover-element edit-post">
										<a class="sortiner-rename-button">
											schowaj/anuluj
										</a>	
									</section>
								</section>
								<section class="tsr-mt-5">
									edytuj element menu > $itemtype_menu
								</section>
							</section>
						</li>			
		
END;
				}						
				
				// sprawdzenie czy menu ma jakiś item
				if ($ile_load2 == 0){

					$rezultat2 = "SELECT * FROM `".$prefix_table."bm_postmeta` WHERE `bm_nazwa` LIKE 'menu_item'";
					$wynik2 = $polaczenie->query($rezultat2);
					
					$ile2 = mysqli_num_rows($wynik2);
					$ile2 = $ile2-1;

					for ($i = 0; $i <= $ile2; $i++) 
					{
						
						// pobieranie wartości z bazy danych
						$row2 = mysqli_fetch_assoc($wynik2);
						$id_menu_item = $row2['id'];
						$tytul_menu_item = $row2['bm_nazwa'];
						$menu_item = $row2['bm_wartosc'];
						
						//odszyfrowywanie jsona item menu 
						$menu_items = json_decode($menu_item, true);
						
						$tytul_menu = $menu_items['0'];
						$url_menu = $menu_items['1'];
						$itemtype_menu = $menu_items['2'];
						$tytul_menu = utf8_decode ( $tytul_menu );
						$url_menu = utf8_decode ( $url_menu );
						$itemtype_menu = utf8_decode ( $itemtype_menu );

echo<<<END

							<li class="sortiner-item sortiner-rename" data-id="$id_menu_item">
								<div class="sortiner-handle ">$tytul_menu</div>
								<section class="black sortiner-rename-button">+</section>
								<section class="sortiner-rename-section" style="display: none;">
									<section class="tsr fs-100">
										<section class="col-ms40 tsr-mt-10">
											Własny url
										</section>
										<section class="col-ms60">
											<input type="text" name="adres-url-rename" class="input" placeholder="Edytuj url" value="$url_menu"/>
										</section>
									</section>
									<section class="tsr fs-100">									
										<section class="col-ms40 tsr-mt-10">
											Własny Tytuł
										</section>
										<section class="col-ms60">
											<input type="text" name="tytul-menu-rename" class="input" placeholder="Edytuj Tytuł" value="$tytul_menu"/>
											<input type="hidden" name="item_type" class="input tsr-display-none" value="$itemtype_menu"/>
										</section>
									</section>	
									<section class="tsr tsr-mt-20">
										<button type="button" class="submit" value="Edytuj element menu" id="edytuj_element_menu" >
											Edytuj element menu
										</button>
									</section>
									<section class="tsr r-0 fs-100 tsr-visable-hover add-text-alert-rename">
										<section class="tsr-fr tsr-button tsr-visable-hover-element red delete-post">
											<a class="sortiner-delete-buton">
												Usuń post
											</a>											
										</section>
										<section class="tsr-fr tsr-button tsr-visable-hover-element edit-post">
											<a class="sortiner-rename-button">
												schowaj/anuluj
											</a>	
										</section>
									</section>
									<section class="tsr-mt-5">
										edytuj element menu > $itemtype_menu
									</section>
								</section>
							</li>			
			
END;
					}						
				}

				

echo<<<END

										</ol>
									</div>	
								</div>
								<section class="tsr tsr-mt-20">
									<button type="tsr-button tsr-normal" class="submit" value="Zapisz menu" id="zapisz_menu" >
										Zapisz menu
									</button>
								</section>
								
								<textarea type="hidden" class="tsr-display-none" style="display: none" id="sortiner-output">[]</textarea>
								
END;
				
				$polaczenie->close();
			}
			
		}
		catch(Exception $e)
		{
			echo '<span style="color:red;">Błąd serwera! Przepraszamy za niedogodności i prosimy o powtórzenie działań póżniej!</span>';
			echo '<br />Informacja developerska: '.$e;
		}	

echo<<<END

	<script type="text/javascript">
$(document).ready(function()
{
	
	//console.log($('.sortiner').sortiner('serialize'));

    var updateOutput = function(e)
    {
        var list   = e.length ? e : $(e.target),
            output = list.data('output');
        if (window.JSON) {
            //output.val(window.JSON.stringify(list.sortiner('serialize')));//, null, 2));
			//output.val(window.JSON.stringify(list.sortiner('serialize')));
			output.val(window.JSON.stringify(list.sortiner('serialize')));
        } else {
            output.val('Twoja przeglądarka nie wspiera JSON!');
        }
		
		
    };

    // activate sortiner for list 1
    $('#sortiner').sortiner({
        group: 1,
		maxDepth : 3,
        rootClass       : 'sortiner',
        listClass       : 'sortiner-list',
        itemClass       : 'sortiner-item',
        dragClass       : 'sortiner-dragel',
        handleClass     : 'sortiner-handle',
        collapsedClass  : 'sortiner-collapsed',
        placeClass      : 'sortiner-placeholder',
        noDragClass     : 'sortiner-nodrag',
        emptyClass      : 'sortiner-empty',		
    })
    .on('change', updateOutput).on('click', '#edytuj_element_menu', updateOutput).on('click', '.sortiner-list', updateOutput).on('click', updateOutput);

    // output initial serialised data
    updateOutput($('#sortiner').data('output', $('#sortiner-output')));

    $('#sortiner-menu').on('click', function(e)
    {
        var target = $(e.target),
            action = target.data('action');
        if (action === 'expand-all') {
            $('.sortiner').sortiner('expandAll');
        }
        if (action === 'collapse-all') {
            $('.sortiner').sortiner('collapseAll');
        }
    });
	
	// skrypt do usuwanie elementów klasy
	$( document ).on( "click", ".sortiner-delete-buton", function(oEvent) {
		$(this).closest('.sortiner-item').fadeOut(500, function () { $(this).remove(); });
	});
	
});
		
		$(".tsr-alert").delay(5000).fadeIn(5000).animate({opacity: "0"}, 1000).delay(1000).hide(500, function () { $(this).remove(); });
		
		$('#zapisz_menu').click('submit', function(evt1){	
		evt1.preventDefault();
		var data_menu_structur= $("#sortiner-output").val();
		console.log(data_menu_structur);
		$.ajax({
			type:"POST",
			url:"insert/edit-menu.php",
			data:{
				menu_structur:data_menu_structur,
			}
		})
		.done(function(info){
			load_menu_items()
			$('#contajner_post_add').text("");
			$('.sortiner-lists').append(info);
			$('form').append(info);
			$(".tsr-alert").delay(5000).fadeIn(5000).animate({opacity: "0"}, 1000).delay(1000).hide(500, function () { $(this).remove(); });
		})
		.fail(function(){
			alert("Wystąpił błąd. Spróbuj ponownie później");
		});
		});	
	</script>				

END;

?>