Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

X2新添加功能 广告到期提醒

[复制链接]
nxy105 发表于 2011-4-27 17:29:45 | 显示全部楼层 |阅读模式
X2.0中添加广告到期提醒的新功能

后台设置在 运营--站点广告--设置 中设置



可以设置是否开启广告提醒,到期前多少天提醒,提醒的方式,以及提醒的用户(填用户名)。

提示:如果到期前多少天提醒和提醒的用户留空,则自动关闭该功能,但提醒的用户实际不存在也会开启该功能,因此请填入正确的用户名(注意分行)。

保存设置后以序列化的形式存储在common_setting表中的skey为advexpiration的值里,如下:

  1. a:4:{s:5:"allow";b:1;s:3:"day";s:1:"1";s:6:"method";a:2:{i:0;s:5:"email";i:1;s:6:"notice";}s:5:"users";s:5:"admin";}
复制代码


当我们设置了广告提醒之后,会在每日执行的清除数据的脚本cron_cleanup_daily.php中被执行

具体执行的代码如下:
  1. if(!empty($_G['setting']['advexpiration']['allow'])) {
  2. $endtimenotice = mktime(0, 0, 0, date('m', TIMESTAMP), date('d', TIMESTAMP), date('Y', TIMESTAMP)) + $_G['setting']['advexpiration']['day'] * 86400;
  3. $query = DB::query("SELECT advid, title FROM ".DB::table('common_advertisement')." WHERE endtime='$endtimenotice'");
  4. $advs = array();
  5. while($adv = DB::fetch($query)) {
  6. $advs[] = '<a href="admin.php?action=adv&operation=edit&advid='.$adv['advid'].'" target="_blank">'.$adv['title'].'</a>';
  7. }
  8. if($advs) {
  9. $users = explode("\n", $_G['setting']['advexpiration']['users']);
  10. $users = array_map('trim', $users);
  11. if($users) {
  12. $query = DB::query("SELECT username, uid, email FROM ".DB::table("common_member")." WHERE username IN (".dimplode($users).")");
  13. while($member = DB::fetch($query)) {
  14. $noticelang = array('day' => $_G['setting']['advexpiration']['day'], 'advs' => implode("<br />", $advs));
  15. if(in_array('notice', $_G['setting']['advexpiration']['method'])) {
  16. notification_add($member['uid'], 'system', 'system_adv_expiration', $noticelang, 1);
  17. }
  18. if(in_array('mail', $_G['setting']['advexpiration']['method'])) {
  19. sendmail("$member[username] <$member[email]>", lang('email', 'adv_expiration_subject', $noticelang), lang('email', 'adv_expiration_message', $noticelang));
  20. }
  21. }
  22. }
  23. }
  24. }
复制代码


代码首先判断了广告过期时间是否为设定的过期提醒时间,到common_advertisement表里取对应的数据,然后根据提醒用户取对应用户的信息,最后根据设定的提醒方式发送提醒或者邮件

该功能的推出让广告管理更加人性化,方便站长对各个广告的排期进行管理。

本帖子中包含更多资源

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

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-17 08:29 , Processed in 0.021979 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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