Browse Source

BIM相關資源 1.0 整理CODE 新增註解

manto07m 3 years ago
parent
commit
cb8a3a9c86
3 changed files with 60 additions and 178 deletions
  1. 12 14
      api-list.php
  2. 30 141
      other-list.php
  3. 18 23
      script/php/getBIMData.php

+ 12 - 14
api-list.php

@@ -61,8 +61,6 @@ if (!isset($_SESSION['loggedin'])) {
 							<div class="inner-toolbar">
 								<ul>
 									<search-bar></search-bar>
-
-									
 									<li>
 										<ul class="button-group nav nav-pills nav-pills-primary sort-by-button-group" data-filter-group="type">
 											<li>
@@ -76,13 +74,13 @@ if (!isset($_SESSION['loggedin'])) {
 											</li>
 										</ul>
 									</li>
-									
+
 									<filter-bar></filter-bar>
 								</ul>
 							</div>
 							<filter-content2></filter-content2>
 							<div class="row mg-files" data-sort-destination="" data-sort-id="media-gallery" id="content" style="position: relative; height: 720.5px;">
-								<isotope-item v-for="item in list" v-bind:name="item.APIName" v-bind:folder="item.APIID + item.APIName" v-bind:id="item.id" v-bind:object="item.object" v-bind:usage="item.usage" v-bind:software="item.software" v-bind:detail="item.detail" v-bind:operate="item.operate" v-bind:source="item.source" v-bind:view-times="item.viewTimes" v-bind:download-times="item.downloadTimes" >
+								<isotope-item v-for="item in list" v-bind:name="item.APIName" v-bind:folder="item.APIID + item.APIName" v-bind:id="item.id" v-bind:object="item.object" v-bind:usage="item.usage" v-bind:software="item.software" v-bind:detail="item.detail" v-bind:operate="item.operate" v-bind:source="item.source" v-bind:view-times="item.viewTimes" v-bind:download-times="item.downloadTimes">
 								</isotope-item>
 
 							</div>
@@ -113,10 +111,10 @@ if (!isset($_SESSION['loggedin'])) {
 					table[i].APIID = '';
 				listObj["APIID"] = table[i].APIID;
 				listObj["id"] = table[i].id;
-				if(table[i].object != null)
+				if (table[i].object != null)
 					table[i].object = table[i].object.replaceAll(",", " ");
 				listObj["object"] = table[i].object;
-				if(table[i].usage != null)
+				if (table[i].usage != null)
 					table[i].usage = table[i].usage.replaceAll(",", " ");
 				listObj["usage"] = table[i].usage;
 				listObj["software"] = table[i].software;
@@ -130,10 +128,10 @@ if (!isset($_SESSION['loggedin'])) {
 
 			var filter = data.objectFilter;
 			var filterArray = [];
-			
+
 			for (i = 0; i < filter.length; i++) {
 				filterArray = filter[i].object.split(",")
-				for(j = 0; j < filterArray.length; j++){
+				for (j = 0; j < filterArray.length; j++) {
 					objectFilter.push(filterArray[j]);
 				}
 			}
@@ -142,9 +140,9 @@ if (!isset($_SESSION['loggedin'])) {
 			filter = data.usageFilter;
 			for (i = 0; i < filter.length; i++) {
 				filterArray = filter[i].usage.split(",");
-				for(j = 0; j < filterArray.length; j++){
+				for (j = 0; j < filterArray.length; j++) {
 					usageFilter.push(filterArray[j]);
-				}			
+				}
 			}
 			usageFilter = [...new Set(usageFilter)];
 
@@ -175,13 +173,13 @@ if (!isset($_SESSION['loggedin'])) {
 			})
 		}, 100);
 
-		$('.sort-by-button-group').on( 'click', 'button', function() {
-			var sortByValue = $(this).attr('data-sort-by');			
-			$grid.isotope({ 
+		$('.sort-by-button-group').on('click', 'button', function() {
+			var sortByValue = $(this).attr('data-sort-by');
+			$grid.isotope({
 				sortBy: sortByValue,
 				sortAscending: false,
 
-			 });
+			});
 		});
 		//	});
 	</script>

+ 30 - 141
other-list.php

@@ -10,9 +10,7 @@ if (!isset($_SESSION['loggedin'])) {
 
 <head>
 	<!-- jstree CSS -->
-	<link rel="stylesheet" href="assets/vendor/jstree/themes/default/style.css" />
-	<!-- jstree CSS -->
-	<!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.4/themes/default/style.min.css"> -->
+	<link rel="stylesheet" href="assets/vendor/jstree/themes/default/style.css" />	
 	<?php include("bim-support-header.html"); ?>
 	<script src="./script/js/global.js"></script>
 	<script src="./script/js/pdfobject.min.js"></script>
@@ -22,23 +20,9 @@ if (!isset($_SESSION['loggedin'])) {
 		var type = url.searchParams.get("type");
 		if (type === null) {
 			window.location.href = "other-list.php?type=收費建議";
-		}
-
-		var delFavoriteList = [];
-		var i = 0;
-		var path = [];
-		var categoryList = [];
-		var categoryTable = [];
-		var id = [];
-		var revitVersion = [];
-		var userName = '<?php echo $_SESSION['name']; ?>';
-		var url_href = window.location.href;
-		var url = new URL(url_href);
+		}		
+		var userName = '<?php echo $_SESSION['name']; ?>';		
 		var $grid;
-		var list;
-
-
-
 		pageHeader = "BIM相關資源";
 	</script>
 	<style>
@@ -92,7 +76,7 @@ if (!isset($_SESSION['loggedin'])) {
 							<div class="inner-toolbar">
 								<ul>
 									<search-bar></search-bar>
-									<li id="reset" style="padding-top: 10px; display:none;">
+									<li id="reset" style="padding-top: 10px;">
 										<div class="input-group input-search" style="table-layout: auto;">
 											<button class="btn btn-primary" type="button" id="resetbtn" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="清除搜尋結果"><i class="fa fa-undo"></i></button>
 										</div>
@@ -144,12 +128,6 @@ if (!isset($_SESSION['loggedin'])) {
 									</section>
 								</div>
 							</div>
-
-							<!-- <div class="row mg-files" data-sort-destination="" data-sort-id="media-gallery" id="content" style="position: relative; height: 720.5px;">
-								<isotope-item v-for="item in list" v-bind:name="item.APIName" v-bind:folder="item.APIID + item.APIName" v-bind:id="item.id" v-bind:object="item.object" v-bind:usage="item.usage" v-bind:software="item.software" v-bind:detail="item.detail" v-bind:operate="item.operate" v-bind:source="item.source">
-								</isotope-item>
-
-							</div> -->
 						</div>
 					</div>
 				</section>
@@ -157,72 +135,15 @@ if (!isset($_SESSION['loggedin'])) {
 			</section>
 		</div>
 	</section>
-	<script>
-		var folder = 'Dynamo/自動化汙水管線建置';
-		$.ajax({
-			url: "./script/php/getPath.php",
-			type: "GET",
-			async: false,
-			data: {
-				type: type,
-			},
-			contentType: "application/json",
-			dataType: "json"
-		}).done(function(data) {
-			var table = data.table;
-
-			for (i = 0; i < table.length; i++) {
-				listObj = {};
-				listObj["APIName"] = table[i].APIName;
-				if (table[i].APIID == null)
-					table[i].APIID = '';
-				listObj["APIID"] = table[i].APIID;
-				listObj["id"] = table[i].id;
-				if (table[i].object != null)
-					table[i].object = table[i].object.replaceAll(",", " ");
-				listObj["object"] = table[i].object;
-				if (table[i].usage != null)
-					table[i].usage = table[i].usage.replaceAll(",", " ");
-				listObj["usage"] = table[i].usage;
-				listObj["software"] = table[i].software;
-				listObj["detail"] = table[i].detail;
-				listObj["operate"] = table[i].operate;
-				listObj["source"] = table[i].source;
-				list.push(listObj);
-			}
-
-			var filter = data.objectFilter;
-			var filterArray = [];
-
-			for (i = 0; i < filter.length; i++) {
-				filterArray = filter[i].object.split(",")
-				for (j = 0; j < filterArray.length; j++) {
-					objectFilter.push(filterArray[j]);
-				}
-			}
-			objectFilter = [...new Set(objectFilter)];
-
-			filter = data.usageFilter;
-			for (i = 0; i < filter.length; i++) {
-				filterArray = filter[i].usage.split(",");
-				for (j = 0; j < filterArray.length; j++) {
-					usageFilter.push(filterArray[j]);
-				}
-			}
-			usageFilter = [...new Set(usageFilter)];
-
-			vm.mount('.body');
-		}).error(function(error) {
-			console.log(error);
-		});
-	</script>
-
+	
 	<?php include("bim-support-body.html"); ?>
 
 	<script>
+		vm.mount('.body');
 		$(document).ready(function() {
-			PDFObject.embed("./assets/null.pdf", "#pdfFile");
-			console.log(type);
+			PDFObject.embed("./assets/null.pdf", "#pdfFile"); 
+
+			/*載入jstree */
 			$('#treeAjaxHTML').jstree({
 				'core': {
 					'themes': {
@@ -230,13 +151,13 @@ if (!isset($_SESSION['loggedin'])) {
 					},
 					'check_callback': true,
 					'data': {
-						'url': './script/php/getBIMData.php?folder=' + type,
+						'url': './script/php/getBIMData.php?folder=' + type, // 使用type獲取檔案目錄
 					}
 				},
 				'search': {
 					'show_only_matches': true,
 				},
-				'types': {
+				'types': { //依據檔案類型設定不同icon
 					'default': {
 						'icon': 'fa fa-folder'
 					},
@@ -263,57 +184,25 @@ if (!isset($_SESSION['loggedin'])) {
 					}
 				},
 				'plugins': ['types', 'search']
-			}).on(
-				'select_node.jstree',
-				function(event, data) {
-
-					data.instance.toggle_node(data.node);
-
-					/*if (data.node.text.includes(".") & !data.node.text.includes(".pdf")) {
-						console.log(data.node);
-						var link = document.createElement("a");
-						link.download = data.node.text;
-						link.href = data.node.a_attr.href;
-						document.body.appendChild(link);
-						link.click();
-						document.body.removeChild(link);
-
-					} else */
-
-					if (data.node.text.includes(".pdf")) {
-						PDFObject.embed(data.node.a_attr.href, "#pdfFile");
-					} else {
-						if (data.node.text.includes(".")) {
-							PDFObject.embed("./assets/notPDF.pdf", "#pdfFile");
-						}
-					}
-
+			}).on('select_node.jstree', function(event, data) {
+				data.instance.toggle_node(data.node);
+				//點選pdf時預覽
+				if (data.node.text.includes(".pdf")) {
+					PDFObject.embed(data.node.a_attr.href, "#pdfFile");
+				} else {
 					if (data.node.text.includes(".")) {
-						$("#fileName").empty();
-						$("#fileName").append(data.node.text);
-						$("#fileHerf").attr("href", data.node.a_attr.href);
-
-						$("#fileDate").empty();
-						$("#fileDate").append(data.node.a_attr.time);
-					}
-
-
-
-
-				}).bind('loaded.jstree', function(e, data) {
-				// invoked after jstree has loaded
-				/*$('.jstree-anchor').each(function(index) {
-					if ($(this).attr('href').includes(".dll") || $(this).attr('href').includes(".dyn") || $(this).attr('href').includes(".exe") || $(this).attr('href').includes(".msi")) {
-						folder.push($(this).attr('href'));
-					}
-				});
-				if (api != null) {
-					for (i = 0; i < api.length; i++) {
-						var fileNames = api[i].split("/");
-						fileName = fileNames[fileNames.length - 1];
-						$("#apiList").append("<a download href='" + api[i] + "' id='api" + i + "'>" + fileName + "</a><br>");
+						PDFObject.embed("./assets/notPDF.pdf", "#pdfFile");
 					}
-				}*/
+				}
+				//將檔案資訊填入下方表格
+				if (data.node.text.includes(".")) {
+					$("#fileName").empty();
+					$("#fileName").append(data.node.text);
+					$("#fileHerf").attr("href", data.node.a_attr.href);
+					$("#fileDate").empty();
+					$("#fileDate").append(data.node.a_attr.time);
+				}
+			}).bind('loaded.jstree', function(e, data) {
 			});
 			$("#treeAjaxHTML").on('open_node.jstree', function(event, data) {
 				data.instance.set_type(data.node, 'f-open');
@@ -322,14 +211,14 @@ if (!isset($_SESSION['loggedin'])) {
 				data.instance.set_type(data.node, 'f-closed');
 			});
 		});
-
+		// 搜尋jstree
 		$("#resetbtn").on('click', function(event) {
 			$("#treeAjaxHTML").jstree("clear_search");
 			$("#quicksearch").val('');
 		})
 		$("#searchBtn").on('click', function(event) {
 			var search = $("#quicksearch").val();
-			$("#treeAjaxHTML").jstree("search", search);			
+			$("#treeAjaxHTML").jstree("search", search);
 		})
 		$("#quicksearch").on('keyup', function(e) {
 			if (e.key === 'Enter' || e.keyCode === 13) {

+ 18 - 23
script/php/getBIMData.php

@@ -1,43 +1,38 @@
 <?php
+// * 印出BIMDate底下檔案結構,提供給jstree
 $folder = 'BIM專案管理';
 if (isset($_GET["folder"])) {
     $folder = $_GET["folder"];
 }
 $root = '../../assets/BIMData';
 
-$ajax = array();
-FindPath($root, $folder, $ajax);
+FindPath($root, $folder);
 
-//echo json_encode($ajax, JSON_UNESCAPED_UNICODE);
-//todo: filemtime($filename); "Last modified: ".date("F d Y H:i:s.", filemtime("gfg.txt"));
-function FindPath($root, $folder, $ajax)
+function FindPath($root, $folder)
 {
-
     $rootPath = $root . '/' . $folder;
     $paths = array_diff(scandir($root . '/' . $folder), array('.', '..', 'Thumbs.db'));
     echo ("<ul>");
     foreach ($paths as $path) {
-
         if (str_contains($path, '.')) {
-            //if (!str_contains(strtolower($path), '.png')) {
-                if(str_contains($path,'.pdf')){
-                    echo ("<li data-jstree='{ " . '"type" : "pdf"' . " }' >");
-                }else if(str_contains($path,'.doc')){
-                    echo ("<li data-jstree='{ " . '"type" : "word"' . " }' >");
-                }else if(str_contains($path,'.ppt')){
-                    echo ("<li data-jstree='{ " . '"type" : "ppt"' . " }' >");
-                }else{
-                    echo ("<li data-jstree='{ " . '"type" : "file"' . " }' >");
-                }
-                
-                $path = "<a href='" . substr($rootPath, 4) . "/" . $path . "' time='".date("Y-m-d H:i:s", filemtime("../.".substr($rootPath, 4) . "/" . $path))."'>" . $path . "</a>";
-                echo ($path);
-                echo ("</li>");
-            //}
+            $date = date("Y-m-d H:i:s", filemtime("../." . substr($rootPath, 4) . "/" . $path));
+            if (str_contains($path, '.pdf')) {
+                echo ("<li data-jstree='{ " . '"type" : "pdf"' . " }' >");
+            } else if (str_contains($path, '.doc')) {
+                echo ("<li data-jstree='{ " . '"type" : "word"' . " }' >");
+            } else if (str_contains($path, '.ppt')) {
+                echo ("<li data-jstree='{ " . '"type" : "ppt"' . " }' >");
+            } else {
+                echo ("<li data-jstree='{ " . '"type" : "file"' . " }' >");
+            }
+
+            $path = "<a href='" . substr($rootPath, 4) . "/" . $path . "' time='" . $date . "'>" . $path . "</a>";
+            echo ($path);
+            echo ("</li>");
         } else {
             echo ("<li>");
             echo ($path);
-            FindPath($rootPath, $path, $ajax);
+            FindPath($rootPath, $path);
             echo ("</li>");
         }
     }