virtuemart 链接改变order状态的开发

现在有个要开发的小插件。大概流程是这样的:
用户下单--邮件发送到管理员--管理员点击一个链接--点完之后,管理员不用登陆,即可改变order状态
这样开发的目的是,管理员希望通过手机客户端接收邮件,点击一个链接快速改变order状态,不用登陆。
现在的开发进度是,vm可以生成邮件,链接带有32位随机生成的字符串,并插入数据库里。数据库里的field是order_id, crypt_string(字符串),create_date, activate_date, state(用于记录这个字符串是否已经被激活过)。两个时间是用来管理链接的时效性。
现在的问题是,基本上所有的vm的function都需要登陆验证。现在想法是vm_function里面写入一个用户权限为shopper,用途类似vm里面order_status_update方法来更新order状态,但是这样安全性是否合理?
想请教谁开发过vm的插件,并且熟悉vm develop 过程的高手指点迷津。谢谢。
已邀请:

孤独者 - 世界属于那些勤于思考的人,更属于那些善于行动的人

赞同来自:

你应该跳过直接在VM里解决的思路。大概流程可以是这样,发送一个链接,也就是一个A标记的链接,这个链接应该包含一个自定义的你相关的一些参数,例如加了密的密码和用户,或者任何一种KEY,还有订单的相关单号和信息。发送过去之后,服务器你添加一个页面,自定义的就可以了,接收这些数据,数据认证成功后,根据所得到的单号,直接进数据库进行搜索,找到后将订单的状态一栏从pending改成cofirmed.就OK了。这样比你对VM二次开发要简单的多。相关邮件的按钮信息是需要你对VM作小小的改动的,但这应该不是什么问题。

刘备曹操 - 古今多少事,都付谈笑中

赞同来自:

这样的方法我也思考过,不过有很多东西需要考虑,比如现在的更新status不仅仅是从P改成C,还包括通知用户,同时会在order_history 表里面加入order的历史记录。我现在在想,是不是要写一些query,模拟ps_order.php里面的update_order_status()这个function。

要回复问题请先登录注册