site.mod.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. /**
  3. * [WeEngine System] Copyright (c) 2014 WE7.CC
  4. * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  5. */
  6. defined('IN_IA') or exit('Access Denied');
  7. function site_cover($coverparams = array()) {
  8. $where = '';
  9. $params = array(':uniacid' => $coverparams['uniacid'], ':module' => $coverparams['module']);
  10. if (!empty($coverparams['multiid'])) {
  11. $where .= " AND multiid = :multiid";
  12. $params[':multiid'] = $coverparams['multiid'];
  13. }
  14. $cover = pdo_fetch("SELECT * FROM " . tablename('cover_reply') . " WHERE `module` = :module AND uniacid = :uniacid {$where}", $params);
  15. if (empty($cover['rid'])) {
  16. $rule = array(
  17. 'uniacid' => $coverparams['uniacid'],
  18. 'name' => $coverparams['title'],
  19. 'module' => 'cover',
  20. 'status' => 1,
  21. );
  22. pdo_insert('rule', $rule);
  23. $rid = pdo_insertid();
  24. } else {
  25. $rule = array(
  26. 'name' => $coverparams['title'],
  27. );
  28. pdo_update('rule', $rule, array('id' => $cover['rid']));
  29. $rid = $cover['rid'];
  30. }
  31. if (!empty($rid)) {
  32. $sql = 'DELETE FROM '. tablename('rule_keyword') . ' WHERE `rid`=:rid AND `uniacid`=:uniacid';
  33. $pars = array();
  34. $pars[':rid'] = $rid;
  35. $pars[':uniacid'] = $coverparams['uniacid'];
  36. pdo_query($sql, $pars);
  37. $keywordrow = array(
  38. 'rid' => $rid,
  39. 'uniacid' => $coverparams['uniacid'],
  40. 'module' => 'cover',
  41. 'status' => 1,
  42. 'displayorder' => 0,
  43. 'type' => 1,
  44. 'content' => $coverparams['keyword'],
  45. );
  46. pdo_insert('rule_keyword', $keywordrow);
  47. }
  48. $entry = array(
  49. 'uniacid' => $coverparams['uniacid'],
  50. 'multiid' => $coverparams['multiid'],
  51. 'rid' => $rid,
  52. 'title' => $coverparams['title'],
  53. 'description' => $coverparams['description'],
  54. 'thumb' => $coverparams['thumb'],
  55. 'url' => $coverparams['url'],
  56. 'do' => '',
  57. 'module' => $coverparams['module'],
  58. );
  59. if (empty($cover['id'])) {
  60. pdo_insert('cover_reply', $entry);
  61. } else {
  62. pdo_update('cover_reply', $entry, array('id' => $cover['id']));
  63. }
  64. return true;
  65. }
  66. function site_cover_delete($page_id) {
  67. global $_W;
  68. $page_id = intval($page_id);
  69. $cover = pdo_fetch('SELECT * FROM ' . tablename('cover_reply') . ' WHERE uniacid = :uniacid AND module = :module AND multiid = :id', array(':uniacid' => $_W['uniacid'],':module' => 'page', ':id' => $page_id));
  70. if(!empty($cover)) {
  71. $rid = intval($cover['rid']);
  72. pdo_delete('rule', array('id' => $rid));
  73. pdo_delete('rule_keyword', array('rid' => $rid));
  74. pdo_delete('cover_reply', array('id' => $cover['id']));
  75. }
  76. return true;
  77. }
  78. function site_ip_validate($ip) {
  79. $ip = trim($ip);
  80. if (empty($ip)) {
  81. return error(-1, 'ip不能为空');
  82. }
  83. $ip_data = explode("\n", $ip);
  84. foreach ($ip_data as $ip) {
  85. if (!filter_var($ip, FILTER_VALIDATE_IP)) {
  86. return error(-1, $ip . '不合法');
  87. }
  88. if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
  89. return error(-1, $ip . '为外网ip,外网ip不可填');
  90. }
  91. }
  92. return $ip_data;
  93. }
  94. function site_ip_add($ip = '') {
  95. load()->model('setting');
  96. $ip_data = site_ip_validate($ip);
  97. if (is_error($ip_data)) {
  98. return error(-1, $ip_data['message']);
  99. }
  100. $ip_data_format = setting_load('ip_white_list');
  101. $ip_data_format = $ip_data_format['ip_white_list'];
  102. foreach ($ip_data as $ip) {
  103. $ip_data_format[$ip]['ip'] = $ip;
  104. $ip_data_format[$ip]['status'] = 1;
  105. }
  106. return setting_save($ip_data_format, 'ip_white_list');
  107. }