找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7685|回复: 3

[脚本] msxo 发的 自动禁用Hotspot用户期限操作1.03在5.X下不能执行的修复

[复制链接]
发表于 2012-6-30 23:26:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 host2318 于 2012-6-30 23:35 编辑

http://bbs.routerclub.com/forum. ... mp;page=1#pid408707
这个帖子中说的不能执行问题,确实碰到了。没有修改脚本任何内容,只是把hotspot的段落划分了一下,已经可用
脚本原帖地址:http://bbs.routerclub.com/forum. ... &highlight=1.03
  1. # 脚本名称: ExpAuto

  2. # 版本日期: 2011年1月3日*********2012.6.30修复5.x下hotspot脚本不能执行的问题。By1482392@qq.com
  3. #因原帖出售铜板,这里仅贴出hotspot段,把这段内容覆盖原作者脚本hotspot段即可执行

  4. #Hotspot处理开始
  5. /ip hotspot user
  6. :foreach i in=[find comment!=""] do={
  7.         :set Ccomment [get $i comment];:set lc [:find $Ccomment "["];:set rc [:find $Ccomment "]"]
  8.        
  9.         :if ([:typeof $lc]="num" && [:typeof $rc]="num" && $lc<$rc) do={
  10.                 :set Exp [:pick $Ccomment ($lc+1) $rc];:set js 0;:set CToday 0
  11.                
  12.                         :if ([:pick $Exp 0 1]!="+" && [:len $Exp]>7 && [:typeof [:tonum [:pick $Exp 0 8]]]="num") do={
  13.                         :set usname [get $i name];:set uspfl [get $i profile];:set CYear ([:pick $Exp 0 4]-1);:set CToday ($CYear*365+$CYear /4)
  14.                         :set CMonth [:pick $Exp 4 6];:if ([:pick $Exp 4 5] = 0) do={ :set CMonth [:pick $Exp 5 6]};:set CMonth ($CMonth-1)
  15.                         :set CDay [:pick $Exp 6 8];:if ([:pick $Exp 6 7] = 0) do={ :set CDay [:pick $Exp 7 8]};:set CDay ($CDay-1)
  16.                         :if (($CYear-$CYear/4*4) != 3) do={:set CToday ($CToday+[:pick $leapyear $CMonth]+$CDay)} else={:set CToday ($CToday+[:pick $leapyear ($CMonth+12)]+$CDay)}}
  17.                        
  18.                                 :set pcl [:find $Exp "+"];:if ([:typeof $pcl]="num" && ($pcl>7 || $pcl=0) && ([:len $Exp]-1)>$pcl) do={
  19.                                 :if ($pcl = 0) do={:set CToday $Today;:set CYear ($Year+1);:set CMonth ($Month+1);:set CDay ($Day+1)
  20.                                 :if ([:len $CMonth]<2) do={:set CMonth ("0" . $CMonth)};:if ([:len $CDay]<2) do={:set CDay ("0" . $CDay)}
  21.                                 set $i comment=([:pick $Ccomment 0 $lc] . "[" .($CYear . $CMonth . $CDay) . [:pick $Exp $pcl [:len $Exp]] . "]" . [:pick $Ccomment ($rc+1) [:len $Ccomment]])}
  22.                                 :while ([:typeof [:find $Exp "+"]]="num") do={
  23.                                         :set Exp [:pick $Exp ($pcl+1) [:len $Exp]];:set pcl [:find $Exp "+"];:if ([:typeof $pcl]!="num") do={:set pcl [:len $Exp]}
  24.                                         :set js ($js+[:tonum [:pick $Exp 0 $pcl]])};:set CToday ($CToday+$js)}

  25.                 :if ($CToday < $Today) do={:if (![get $i disabled ]) do={disable $i;/ip hotspot active remove [find name=$usname]}} else={:if ([get $i disabled ]) do={enable $i}}
  26. }}
  27. #Hotspot处理结束
复制代码
routeros
 楼主| 发表于 2012-6-30 23:33:47 | 显示全部楼层
上效果图。

2012-06-30_233326.png
routeros
回复

使用道具 举报

头像被屏蔽
发表于 2012-6-30 23:36:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
routeros
回复

使用道具 举报

发表于 2014-11-20 16:13:37 | 显示全部楼层
hotspot用户到期提前提醒怎样实现呢,可以教下吗
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-3 05:14 , Processed in 0.131631 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表