|
@@ -0,0 +1,83 @@
|
|
|
|
|
+<?php
|
|
|
|
|
+// Loob D7-st tulnud menüüstruktuuri D11-sse (menu_link_content entiteedid).
|
|
|
|
|
+// Path mapping: D7 path -> internal:/<path>. node/add/emal-liige -> emal_liige.
|
|
|
|
|
+use Drupal\menu_link_content\Entity\MenuLinkContent;
|
|
|
|
|
+
|
|
|
|
|
+// menu_name => [ [title, uri, weight], ... ]
|
|
|
|
|
+$menus = [
|
|
|
|
|
+ 'main' => [
|
|
|
|
|
+ [' Avaleht', 'internal:/', -50],
|
|
|
|
|
+ ['Liikmed', 'internal:/liikmed', -49],
|
|
|
|
|
+ ['Projektid', 'internal:/projektid', -48],
|
|
|
|
|
+ ['Kanded', 'internal:/node/13151', -47],
|
|
|
|
|
+ ['Contact', 'internal:/contact', -46],
|
|
|
|
|
+ ['Dokumendid', 'internal:/docs', -28],
|
|
|
|
|
+ ['Author', 'internal:/node/4', 2],
|
|
|
|
|
+ ['Suspendisse', 'internal:/node/3', 4],
|
|
|
|
|
+ ],
|
|
|
|
|
+ 'menu-liikmed' => [
|
|
|
|
|
+ ['Liikmete nimekiri (A-Z)', 'internal:/liikmed', -50],
|
|
|
|
|
+ ['Liikmete nimekiri', 'internal:/liikmed/nimekiri', -49],
|
|
|
|
|
+ ['Sünnipäevad', 'internal:/liikmed/synnipaevad', -48],
|
|
|
|
|
+ ['Sünnipäevad nimekiri', 'internal:/synnipaevad', -47],
|
|
|
|
|
+ ['Liikmemaksude saldod', 'internal:/kanded/liikmemaksud/saldod', -46],
|
|
|
|
|
+ ['Liikmemaksude kanded', 'internal:/kanded/liikmemaksud', -45],
|
|
|
|
|
+ ['CSV eksport (liikmed)', 'internal:/liikmed/eksport', -44],
|
|
|
|
|
+ ['Lisa uus liige', 'internal:/node/add/emal_liige', -43],
|
|
|
|
|
+ ['Impordi liikmed', 'internal:/import/emal_liikmete_import', -42],
|
|
|
|
|
+ ],
|
|
|
|
|
+ 'menu-projektid' => [
|
|
|
|
|
+ ['Projektide nimekiri', 'internal:/projektid', -50],
|
|
|
|
|
+ ['Projektide saldod', 'internal:/kanded/projektid/saldod', -49],
|
|
|
|
|
+ ['Projektide kanded', 'internal:/kanded/projektid', -48],
|
|
|
|
|
+ ['Lisa uus projekt', 'internal:/node/add/projekt', -47],
|
|
|
|
|
+ ],
|
|
|
|
|
+ 'menu-raamatupidamine' => [
|
|
|
|
|
+ ['Liikmemaksude saldod', 'internal:/kanded/liikmemaksud/saldod', -50],
|
|
|
|
|
+ ['Liikmemaksude kanded', 'internal:/kanded/liikmemaksud', -49],
|
|
|
|
|
+ ['Projektide saldod', 'internal:/kanded/projektid/saldod', -48],
|
|
|
|
|
+ ['Projektide kanded', 'internal:/kanded/projektid', -47],
|
|
|
|
|
+ ['Tegevuskulude kanded', 'internal:/kanded/tegevuskulud', -46],
|
|
|
|
|
+ ['Kõik kanded', 'internal:/kanded/koik-kanded', -45],
|
|
|
|
|
+ ['Kõik kanded', 'internal:/kanded/koik', -45],
|
|
|
|
|
+ ['Impordi panga väljavõte', 'internal:/import/panga_valjavotte_import', -44],
|
|
|
|
|
+ ['Impordi liikmemaksud', 'internal:/import/liikmemaksude_import', -43],
|
|
|
|
|
+ ['Lisa uus kanne', 'internal:/node/add/kanne', -42],
|
|
|
|
|
+ ],
|
|
|
|
|
+];
|
|
|
|
|
+
|
|
|
|
|
+$created = 0;
|
|
|
|
|
+$skipped = 0;
|
|
|
|
|
+
|
|
|
|
|
+foreach ($menus as $menu_name => $links) {
|
|
|
|
|
+ foreach ($links as $link) {
|
|
|
|
|
+ [$title, $uri, $weight] = $link;
|
|
|
|
|
+
|
|
|
|
|
+ // Kontrolli, kas samasugune link juba eksisteerib.
|
|
|
|
|
+ $existing = \Drupal::entityTypeManager()
|
|
|
|
|
+ ->getStorage('menu_link_content')
|
|
|
|
|
+ ->loadByProperties([
|
|
|
|
|
+ 'menu_name' => $menu_name,
|
|
|
|
|
+ 'title' => $title,
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ if (!empty($existing)) {
|
|
|
|
|
+ echo "skip (olemas): $menu_name / $title\n";
|
|
|
|
|
+ $skipped++;
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $ml = MenuLinkContent::create([
|
|
|
|
|
+ 'title' => $title,
|
|
|
|
|
+ 'menu_name' => $menu_name,
|
|
|
|
|
+ 'link' => ['uri' => $uri],
|
|
|
|
|
+ 'weight' => $weight,
|
|
|
|
|
+ 'expanded' => FALSE,
|
|
|
|
|
+ ]);
|
|
|
|
|
+ $ml->save();
|
|
|
|
|
+ echo "loodud: $menu_name / $title -> $uri (w=$weight)\n";
|
|
|
|
|
+ $created++;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+echo "\nkokku: loodud=$created, vahelejäetud=$skipped\n";
|