global-functions: $MkDir: drop old code with smb workaround...

... and increase required RouterOS.
This commit is contained in:
Christian Hesse 2023-03-28 15:57:06 +02:00
parent a030e2f946
commit 5db9a71802
2 changed files with 3 additions and 42 deletions

View file

@ -4,7 +4,7 @@ RouterOS Scripts
[![GitHub stars](https://img.shields.io/github/stars/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=red)](https://github.com/eworm-de/routeros-scripts/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=green)](https://github.com/eworm-de/routeros-scripts/network)
[![GitHub watchers](https://img.shields.io/github/watchers/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=blue)](https://github.com/eworm-de/routeros-scripts/watchers)
[![required RouterOS version](https://img.shields.io/badge/RouterOS-7.7-yellow?style=flat)](https://mikrotik.com/download/changelogs/)
[![required RouterOS version](https://img.shields.io/badge/RouterOS-7.9beta4-yellow?style=flat)](https://mikrotik.com/download/changelogs/)
[![Telegram group @routeros_scripts](https://img.shields.io/badge/Telegram-%40routeros__scripts-%2326A5E4?logo=telegram&style=flat)](https://t.me/routeros_scripts)
[![donate with PayPal](https://img.shields.io/badge/Like_it%3F-Donate!-orange?logo=githubsponsors&logoColor=orange&style=flat)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A4ZXBD6YS2W8J)

View file

@ -4,7 +4,7 @@
# Michael Gisbers <michael@gisbers.de>
# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md
#
# requires RouterOS, version=7.7
# requires RouterOS, version=7.9beta4
#
# global functions
# https://git.eworm.de/cgit/routeros-scripts/about/
@ -603,7 +603,6 @@
:global CleanFilePath;
:global GetRandom20CharAlNum;
:global LogPrintExit2;
:global RequiredRouterOS;
:global WaitForFile;
:local MkTmpfs do={
@ -636,7 +635,7 @@
:return true;
}
:if ([ $RequiredRouterOS $0 "7.9beta4" false ] = true) do={
{
:if ([ :pick $Path 0 5 ] = "tmpfs") do={
:if ([ $MkTmpfs ] = false) do={
:return false;
@ -652,44 +651,6 @@
$LogPrintExit2 warning $0 ("Making directory '" . $Path . "' failed!") false;
:return false;
}
} else={
:local Error false;
:local PathNext "";
:foreach Dir in=[ :toarray [ $CharacterReplace $Path "/" "," ] ] do={
:local Continue false;
:set PathNext [ $CleanFilePath ($PathNext . "/" . $Dir) ];
:if ([ :len [ /file/find where name=$PathNext !(name="tmpfs") type="directory" ] ] = 1) do={
:set Continue true;
}
:if ($Continue = false && $PathNext = "tmpfs") do={
:if ([ $MkTmpfs ] = false) do={
:return false;
}
:set Continue true;
}
:if ($Continue = false && [ :len [ /file/find where name=$PathNext ] ] = 1) do={
$LogPrintExit2 warning $0 ("The path '" . $PathNext . "' exists, but is not a directory.") false;
:return false;
}
:if ($Continue = false) do={
:local Name ($PathNext . "-" . [ $GetRandom20CharAlNum 6 ]);
:do {
/ip/smb/share/add disabled=yes directory=$PathNext name=$Name;
$WaitForFile $PathNext;
} on-error={
$LogPrintExit2 warning $0 ("Making directory '" . $PathNext . "' failed!") false;
:set Error true;
}
/ip/smb/share/remove [ find where name=$Name ];
:if ($Error = true) do={
:return false;
}
}
}
}
:return true;
}