[Scummvm-git-logs] scummvm-web master -> 1f43fcf78449b90c55aec026eb58f6220ab0844e

Thunderforge wjherrmann at gmail.com
Sun Apr 5 00:04:07 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm-web' repo located at https://github.com/scummvm/scummvm-web .

Summary:
1f43fcf784 DATA: Converting Menu data from XML to YAML


Commit: 1f43fcf78449b90c55aec026eb58f6220ab0844e
    https://github.com/scummvm/scummvm-web/commit/1f43fcf78449b90c55aec026eb58f6220ab0844e
Author: Thunderforge (wjherrmann at gmail.com)
Date: 2020-04-04T19:04:04-05:00

Commit Message:
DATA: Converting Menu data from XML to YAML

Changed paths:
  A data/menus.yaml
  R data/menus.xml
    include/Models/MenuModel.php
    include/Objects/MenuItem.php


diff --git a/data/menus.xml b/data/menus.xml
deleted file mode 100644
index e7533c10..00000000
--- a/data/menus.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<menus>
-	<group>
-		<name>{#menuHeaderMain#}</name>
-		<class>menu-main</class>
-		<link>
-			<name>{#menuMainHome#}</name>
-			<href>{$baseurl}</href>
-		</link>
-		<link>
-			<name>{#menuMainScreenshots#}</name>
-			<href>/screenshots/</href>
-		</link>
-		<link>
-			<name>{#menuMainForums#}</name>
-			<href>https://forums.scummvm.org/</href>
-		</link>
-		<link>
-			<name>{#menuMainDownloads#}</name>
-			<href>/downloads/</href>
-		</link>
-		<link>
-			<name>{#menuMainGames#}</name>
-			<href>/games/</href>
-		</link>
-		<link>
-			<name>{#menuMainBlogs#}</name>
-			<href>https://planet.scummvm.org</href>
-		</link>
-	</group>
-	<group>
-		<name>{#menuHeaderDocumentation#}</name>
-		<class>menu-docs</class>
-		<link>
-			<name>{#menuDocumentationFaq#}</name>
-			<href>/faq/</href>
-		</link>
-		<link>
-			<name>{#menuDocumentationDocumentation#}</name>
-			<href>/documentation/</href>
-		</link>
-		<link>
-			<name>{#menuDocumentationCompatability#}</name>
-			<href>/compatibility/</href>
-		</link>
-		<link>
-			<name>{#menuDocumentationWiki#}</name>
-			<href>https://wiki.scummvm.org/</href>
-		</link>
-		<link>
-			<name>{#menuDocumentationCredits#}</name>
-			<href>/credits/</href>
-		</link>
-	</group>
-	<group>
-		<name>{#menuHeaderDevelopmentDevelopment#}</name>
-		<class>menu-sf</class>
-		<link>
-			<name>{#menuDevelopmentBugTracker#}</name>
-			<href>https://bugs.scummvm.org/</href>
-		</link>
-		<link>
-			<name>{#menuDevelopmentPatchTracker#}</name>
-			<href>https://github.com/scummvm/scummvm/pulls</href>
-		</link>
-		<link>
-			<name>{#menuDevelopmentTranslations#}</name>
-			<href>https://translations.scummvm.org/projects/scummvm/scummvm/</href>
-		</link>
-		<link>
-			<name>{#menuDevelopmentDailies#}</name>
-			<href>/downloads/#daily</href>
-		</link>
-		<link>
-			<name>{#menuDevelopmentSourceCode#}</name>
-			<href>https://github.com/scummvm/scummvm</href>
-		</link>
-		<link>
-			<name>{#menuDevelopmentBuildbot#}</name>
-			<href>https://buildbot.scummvm.org/</href>
-		</link>
-	</group>
-	<group>
-		<name>{#menuHeaderMisc#}</name>
-		<class>menu-misc</class>
-		<link>
-			<name>{#menuMiscSubprojects#}</name>
-			<href>/subprojects/</href>
-		</link>
-		<link>
-			<name>{#menuMiscDemos#}</name>
-			<href>/demos/</href>
-		</link>
-		<link>
-			<name>{#menuMiscPress#}</name>
-			<href>/press/</href>
-		</link>
-		<link>
-			<name>{#menuMiscContact#}</name>
-			<href>/contact/</href>
-		</link>
-		<link>
-			<name>{#menuMiscLinks#}</name>
-			<href>/links/</href>
-		</link>
-	</group>
-</menus>
diff --git a/data/menus.yaml b/data/menus.yaml
new file mode 100644
index 00000000..ffbc6b95
--- /dev/null
+++ b/data/menus.yaml
@@ -0,0 +1,61 @@
+# The menu system for page navigation
+groups:
+  - name: "{#menuHeaderMain#}"
+    class: "menu-main"
+    links:
+      - name: "{#menuMainHome#}"
+        href: "{$baseurl}"
+      - name: "{#menuMainScreenshots#}"
+        href: "/screenshots/"
+      - name: "{#menuMainForums#}"
+        href: "https://forums.scummvm.org/"
+      - name: "{#menuMainDownloads#}"
+        href: "/downloads/"
+      - name: "{#menuMainGames#}"
+        href: "/games/"
+      - name: "{#menuMainBlogs#}"
+        href: "https://planet.scummvm.org"
+
+  - name: "{#menuHeaderDocumentation#}"
+    class: "menu-docs"
+    links:
+      - name: "{#menuDocumentationFaq#}"
+        href: "/faq/"
+      - name: "{#menuDocumentationDocumentation#}"
+        href: "/documentation/"
+      - name: "{#menuDocumentationCompatability#}"
+        href: "/compatibility/"
+      - name: "{#menuDocumentationWiki#}"
+        href: "https://wiki.scummvm.org/"
+      - name: "{#menuDocumentationCredits#}"
+        href: "/credits/"
+
+  - name: "{#menuHeaderDevelopmentDevelopment#}"
+    class: "menu-sf"
+    links:
+      - name: "{#menuDevelopmentBugTracker#}"
+        href: "https://bugs.scummvm.org/"
+      - name: "{#menuDevelopmentPatchTracker#}"
+        href: "https://github.com/scummvm/scummvm/pulls"
+      - name: "{#menuDevelopmentTranslations#}"
+        href: "https://translations.scummvm.org/projects/scummvm/scummvm/"
+      - name: "{#menuDevelopmentDailies#}"
+        href: "/downloads/#daily"
+      - name: "{#menuDevelopmentSourceCode#}"
+        href: "https://github.com/scummvm/scummvm"
+      - name: "{#menuDevelopmentBuildbot#}"
+        href: "https://buildbot.scummvm.org/"
+
+  - name: "{#menuHeaderMisc#}"
+    class: "menu-misc"
+    links:
+      - name: "{#menuMiscSubprojects#}"
+        href: "/subprojects/"
+      - name: "{#menuMiscDemos#}"
+        href: "/demos/"
+      - name: "{#menuMiscPress#}"
+        href: "/press/"
+      - name: "{#menuMiscContact#}"
+        href: "/contact/"
+      - name: "{#menuMiscLinks#}"
+        href: "/links/"
\ No newline at end of file
diff --git a/include/Models/MenuModel.php b/include/Models/MenuModel.php
index e27bbc1c..bab88332 100644
--- a/include/Models/MenuModel.php
+++ b/include/Models/MenuModel.php
@@ -1,7 +1,6 @@
 <?php
 namespace ScummVM\Models;
 
-use ScummVM\XMLParser;
 use ScummVM\Objects\MenuItem;
 
 /**
@@ -12,16 +11,15 @@ abstract class MenuModel extends BasicModel
     /* Get all menu entries. */
     public static function getAllMenus()
     {
-        $fname = DIR_DATA . '/menus.xml';
-        $parser = new XMLParser();
-        $parsedData = $parser->parseByFilename($fname);
+        $fname = DIR_DATA . '/menus.yaml';
+        $parsedData = \yaml_parse_file($fname);
         $entries = array();
-        foreach (array_values($parsedData['menus']['group']) as $value) {
+        foreach (array_values($parsedData['groups']) as $value) {
             $entries[] = new MenuItem(
                 array(
                 'name' => $value['name'],
                 'class' => $value['class'],
-                'link' => $value['link'],
+                'links' => $value['links'],
                 )
             );
         }
diff --git a/include/Objects/MenuItem.php b/include/Objects/MenuItem.php
index 03e66ad5..abf4ac1c 100644
--- a/include/Objects/MenuItem.php
+++ b/include/Objects/MenuItem.php
@@ -16,7 +16,7 @@ class MenuItem extends BasicObject
         parent::__construct($data);
         $this->class = $data['class'];
         $this->entries = array();
-        foreach ($data['link'] as $key => $value) {
+        foreach (array_values($data['links']) as $value) {
             $this->entries[$value['name']] = $value['href'];
         }
     }




More information about the Scummvm-git-logs mailing list