]> Git [git.vados.ru] :: Repos - Mikrotiks/ros.vados.ru.git/commitdiff
Autocommit in repo: ros.vados.ru, generated by owner: root, in 09:30:03 04.05.2026.
authorvados-dev <192440777+vados-dev@users.noreply.github.com>
Mon, 4 May 2026 06:30:03 +0000 (09:30 +0300)
committervados-dev <192440777+vados-dev@users.noreply.github.com>
Mon, 4 May 2026 06:30:03 +0000 (09:30 +0300)
html/AM-GlobalFunc.rsc

index efc53aca31913732305825a01140f59b0767b72a..7c20371775343a25ff02e68ff03f2183f1c4f852 100644 (file)
@@ -17,9 +17,9 @@
 :global GlobalFuncReady false;
 
 # Git commit id & info, expected configuration version
-:global CommitId "main/533/c2ac9dd7";
+:global CommitId "main/534/4c2d0f51";
 :global CommitTAG "unknown";
-:global CommitInfo "Autocommit in repo: ros.vados.ru, generated by owner: root, in 09:10:03 04.05.2026.";
+:global CommitInfo "Autocommit in repo: ros.vados.ru, generated by owner: root, in 09:30:03 04.05.2026.";
 
 # The variables are received right here.
 :global GlobalConfVersion 138;
   :set CheckCert [ $IfThenElse ($CheckCert = "false") "no" "yes-without-crl" ];
   :local DirName ("tmpfs/" . [ $CleanName $ScriptName ]);
   :if ([ $MkDir $DirName ] = false) do={
-    $LogPrint error $0 ("Failed creating directory!");
+    :log error ($0 . " Failed creating directory!");
     :return false;
   }
   :local FileName ($DirName . "/" . [ $CleanName $0 ] . "-" . [ $GetRandom20CharAlNum ]);
     :if ([ $WaitForFile $FileName 500ms ] = true) do={
       $RmFile $FileName;
     }
-    $LogPrint debug $0 ("Failed downloading from " . $Url . " - " . $Err);
+    :log debug ($0 . " Failed downloading from " . $Url . " - " . $Err);
     $RmDir $DirName;
     :return false;
   }
   :if ([ $WaitForFile $FileName 5s ] = false) do={
-    $LogPrint debug $0 ("The file downloaded from " . $Url . " did not show up.");
+    :log debug ($0 . " The file downloaded from " . $Url . " did not show up.");
     :return false;
   }
   :local FileSize [ /file/get $FileName size ];
   :return $Return;
 }
 
-
 :set FetchUserAgentStr do={
   :local Caller [ :tostr $1 ];
 
 :set FileGet do={
   :local FileName [ :tostr $1 ];
   :global WaitForFile;
-  :if ([ $WaitForFile $FileName 0s ] = false) do={:return false}
+  :if ([ $WaitForFile $FileName 0s ] = false) do={
+    :return false;
+  }
   :local FileVal false;
-  :do {:set FileVal [ /file/get $FileName ];
+  :do {
+    :set FileVal [ /file/get $FileName ];
    } on-error={ }
   :return $FileVal;
 }
 :set RmDir do={
   :local DirName [ :tostr $1 ];
   :global FileGet;
-  :global LogPrint;
-  $LogPrint debug $0 ("Removing directory: ". $DirName);
+  :log debug ($0 . " Removing directory: ". $DirName);
   :local DirVal [ $FileGet $DirName ];
-  :if ($DirVal = false) do={$LogPrint debug $0 ("... which does not exist."); :return true};
-  :if ($DirVal->"type" != "directory") do={$LogPrint error $0 ("Directory '" . $DirName . "' is not a directory."); :return false};
-  :onerror Err {/file/remove $DirName} do={$LogPrint error $0 ("Removing directory '" . $DirName . "' failed: " . $Err); :return false};
+  :if ($DirVal = false) do={
+    :log debug ($0 . " ... which does not exist.");
+    :return true;
+  };
+  :if ($DirVal->"type" != "directory") do={
+    :log error ($0 . " Directory '" . $DirName . "' is not a directory.");
+    :return false;
+  };
+  :onerror Err {
+    /file/remove $DirName;
+  } do={
+    :log error ($0 . " Removing directory '" . $DirName . "' failed: " . $Err);
+    :return false;
+  };
   :return true;
 }
 
 :set RmFile do={
   :local FileName [ :tostr $1 ];
   :global FileGet;
-  :global LogPrint;
-  $LogPrint debug $0 ("Removing file: ". $FileName);
+  :log debug ($0 . " Removing file: ". $FileName);
   :local FileVal [ $FileGet $FileName ];
-  :if ($FileVal = false) do={$LogPrint debug $0 ("... which does not exist."); :return true}
+  :if ($FileVal = false) do={
+    :log debug ($0 . " ... which does not exist.");
+    :return true;
+  }
   :if ($FileVal->"type" = "directory" || $FileVal->"type" = "disk") do={
-    $LogPrint error $0 ("File '" . $FileName . "' is not a file."); :return false}
+    :log error ($0 . " File '" . $FileName . "' is not a file.");
+    :return false;
+  }
   :onerror Err {
     /file/remove $FileName;
-  } do={$LogPrint error $0 ("Removing file '" . $FileName . "' failed: " . $Err); :return false}
+  } do={
+    :log error ($0 . " Removing file '" . $FileName . "' failed: " . $Err); :return false;
+  }
   :return true;
 }
 
   :global FileGet;
   :global RmDir;
   :global WaitForFile;
-  :global LogPrint;
+
   :local MkTmpfs do={
    :global WaitForFile;
    :local TmpFs [ /disk/find where slot=tmpfs type=tmpfs ];
    :if ([ :len $TmpFs ] = 1) do={
      :if ([ /disk/get $TmpFs disabled ] = true) do={
-       $LogPrint info $0 ("The tmpfs is disabled, enabling.");
+       :log info ($0 . " The tmpfs is disabled, enabling.");
        /disk/enable $TmpFs;
       }
       :return true;
     }
-    $LogPrint info $0 ("Creating disk of type tmpfs.");
+    :log info ($0 . " Creating disk of type tmpfs.");
     $RmDir "tmpfs";
     :onerror Err {
       /disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource/get total-memory ] / 3);
       $WaitForFile "tmpfs";
     } do={
-      $LogPrint warning $0 ("Creating disk of type tmpfs failed: " . $Err);
+      :log warning ($0 . " Creating disk of type tmpfs failed: " . $Err);
       :return false;
     }
     :return true;
   :if ($Path = "") do={
     :return true;
   }
-  $LogPrint debug $0 ("Making directory: " . $Path);
+  :log debug ($0 . " Making directory: " . $Path);
   :local PathVal [ $FileGet $Path ];
   :if ($PathVal->"type" = "directory") do={
-    $LogPrint debug $0 ("... which already exists.");
+    :log debug ($0 . " ... which already exists.");
     :return true;
   }
   :if ([ :pick $Path 0 5 ] = "tmpfs") do={
     /file/add type="directory" name=$Path;
     $WaitForFile $Path;
   } do={
-    $LogPrint warning $0 ("Making directory '" . $Path . "' failed: " . $Err);
+    :log warning ($0 . " Making directory '" . $Path . "' failed: " . $Err);
     :return false;
   }
   :return true;
   :local Required [ :tostr $2 ];
   :local Warn     [ :tostr $3 ];
   :global IfThenElse;
-  :global LogPrint;
   :global VersionToNum;
   :if (!($Required ~ "^\\d+\\.\\d+((alpha|beta|rc|\\.)\\d+|)\$")) do={
-    $LogPrint error $0 ("No valid RouterOS version: " . $Required);
+    :log error ($0 . " No valid RouterOS version: " . $Required);
     :return false;
   }
   :if ([ $VersionToNum $Required ] > [ $VersionToNum [ /system/package/update/get installed-version ] ]) do={
     :if ($Warn = "true") do={
-      $LogPrint warning $0 ("This " . [ $IfThenElse ([ :pick $Caller 0 ] = ("\$")) "function" "script" ] . \
+      :log warning ($0 . " This " . [ $IfThenElse ([ :pick $Caller 0 ] = ("\$")) "function" "script" ] . \
         " '" . $Caller . "' (at least specific functionality) requires RouterOS " . $Required . ". Please update!");
     }
     :return false;
   :local WaitMax [ :totime $2 ];
   :global GetRandom20CharAlNum;
   :global IfThenElse;
-  :global LogPrint;
   :global ScriptLockOrder;
   :if ([ :typeof $ScriptLockOrder ] = "nothing") do={
     :set ScriptLockOrder ({});
   }
   :if ([ :typeof $WaitMax ] = "nil" ) do={:set WaitMax 0s}
   :if ([ :len [ /system/script/find where name=$Script ] ] = 0) do={
-    $LogPrint error $0 ("A script named '" . $Script . "' does not exist!");
+    :log error ($0 . " A script named '" . $Script . "' does not exist!");
     :error false;
   }
   :if ([ $JobCount $Script ] = 0) do={
     :error false;
   }
   :if ([ $TicketCount $Script ] >= [ $JobCount $Script ]) do={
-    $LogPrint error $0 ("More tickets than running scripts '" . $Script . "', resetting!");
+    :log error ($0 . " More tickets than running scripts '" . $Script . "', resetting!");
     :set ($ScriptLockOrder->$Script) ({});
     /system/script/job/remove [ find where script=$Script ];
   }
     [ $IfThenElse ($WaitTime < $WaitMax) " and timed out waiting for lock" "" ] . "...");
   :return false;
 }
+
 :set SendNotification do={ :onerror Err {
   :global SendNotification2;
   $SendNotification2 ({ origin=$0; subject=$1; message=$2; link=$3; silent=$4 });
 } do={:global ExitOnError; $ExitOnError $0 $Err}
 }
+
 :set SendNotification2 do={
   :local Notification $1;
   :global NotificationFunctions;
     ($NotificationFunctions->$FunctionName) ("\$NotificationFunctions->\"" . $FunctionName . "\"") $Notification;
   }
 }
+
 :set SymbolByUnicodeName do={
   :local Name [ :tostr $1 ];
   :global EitherOr;
-  :global LogPrint;
   :global SymbolsExtra;
   :local Symbols ({
     "abacus"="\F0\9F\A7\AE";
     "large-orange-circle-10-31"="\F0\9F\8E\83";
     "large-red-circle-04-01"="\F0\9F\8D\92" };
   :if ([ :len ($Symbols->$Name) ] = 0) do={
-    $LogPrint warning $0 ("No symbol available for name '" . $Name . "'!");
+    :log warning ($0 . "No symbol available for name '" . $Name . "'!");
     :return "";
   }
   :return ([ $EitherOr ($Special->($Name . $Magic)) ($Symbols->$Name) ] . "\EF\B8\8F");
 }
+
 :set SymbolForNotification do={
   :global NotificationsWithSymbols;
   :global SymbolByUnicodeName;
   :foreach Symbol in=[ :toarray $1 ] do={:set Return ($Return . [ $SymbolByUnicodeName $Symbol ])}
   :return ($Return . " ");
 }
+
 :set Unix2Dos do={:return [ :tocrlf [ :tostr $1 ] ]}
 :set UrlEncode do={
   :local Input [ :tostr $1 ];
   }
   :return $Return;
 }
+
 :set ValidateSyntax do={
   :local Code [ :tostr $1 ];
-  :global LogPrint;
   :onerror Err {
     [ :parse (":local Validate do={\n" . $Code . "\n}") ];
   } do={
-    $LogPrint debug $0 ("Valdation failed: " . $Err);
+    :log debug ($0 . "Validation failed: " . $Err);
     :return false;
   }
   :return true;
 }
+
 :set IsDNSResolving do={
   :do {:resolve "api.telegram.org"} on-error={:return false}
   :return true;
 }
+
 :set IsFullyConnected do={
   :global IsDNSResolving;
   :global IsTimeSync;
   :if ([ $IsTimeSync ] = false) do={:return false};
   :return true;
 }
+
 :set IsTimeSync do={
   :global IsTimeSyncCached;
   :global IsTimeSyncResetNtp;