国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
3.7KB

  1. <?php
  2. /**
  3. * @version $Id: edit_fullinfo.php 1 8:38 2010年7月9日Z tianya $
  4. * @package DedeCMS.Member
  5. * @copyright Copyright (c) 2007 - 2020, DesDev, Inc.
  6. * @license http://help.dedecms.com/usersguide/license.html
  7. * @link http://www.dedecms.com
  8. */
  9. require_once(dirname(__FILE__) . '/config.php');
  10. require_once DEDEINC . '/membermodel.cls.php';
  11. require_once(DEDEINC . "/userlogin.class.php");
  12. CheckRank(0, 0);
  13. require_once(DEDEINC . '/enums.func.php');
  14. $menutype = 'config';
  15. if (!isset($dopost)) $dopost = '';
  16. if ($dopost == '') {
  17. $membermodel = new membermodel($cfg_ml->M_MbType);
  18. $modelform = $dsql->GetOne("SELECT * FROM #@__member_model WHERE id='$membermodel->modid' ");
  19. if (!is_array($modelform)) {
  20. showmsg('模型表单不存在', '-1');
  21. exit();
  22. }
  23. $row = $dsql->GetOne("SELECT * FROM " . $modelform['table'] . " WHERE mid=$cfg_ml->M_ID");
  24. if (!is_array($row)) {
  25. showmsg("你访问的记录不存在或未经审核", '-1');
  26. exit();
  27. }
  28. $postform = $membermodel->getForm('edit', $row, 'membermodel');
  29. include(DEDEMEMBER . "/templets/edit_fullinfo.htm");
  30. exit();
  31. }
  32. /*------------------------
  33. function __Save()
  34. ------------------------*/
  35. if ($dopost == 'save') {
  36. // 校验CSRF
  37. CheckCSRF();
  38. $membermodel = new membermodel($cfg_ml->M_MbType);
  39. $postform = $membermodel->getForm(true);
  40. //这里完成详细内容填写
  41. $dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
  42. $dede_fieldshash = empty($dede_fieldshash) ? '' : trim($dede_fieldshash);
  43. $modid = empty($modid) ? 0 : intval(preg_replace("/[^\d]/", '', $modid));
  44. if (!empty($dede_fields)) {
  45. if ($dede_fieldshash != md5($dede_fields . $cfg_cookie_encode)) {
  46. showMsg('数据校验不对,程序返回', '-1');
  47. exit();
  48. }
  49. }
  50. $modelform = $dsql->GetOne("SELECT * FROM #@__member_model WHERE id='$modid' ");
  51. if (!is_array($modelform)) {
  52. showmsg('模型表单不存在', '-1');
  53. exit();
  54. }
  55. $inadd_f = '';
  56. if (!empty($dede_fields)) {
  57. $fieldarr = explode(';', $dede_fields);
  58. if (is_array($fieldarr)) {
  59. foreach ($fieldarr as $field) {
  60. if ($field == '') continue;
  61. $fieldinfo = explode(',', $field);
  62. if ($fieldinfo[1] == 'textdata') {
  63. ${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));
  64. ${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
  65. } else if ($fieldinfo[1] == 'img') {
  66. ${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
  67. } else {
  68. if (empty(${$fieldinfo[0]})) ${$fieldinfo[0]} = '';
  69. ${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1], 0, 'add', '', 'diy', $fieldinfo[0]);
  70. }
  71. if ($fieldinfo[0] == "birthday") ${$fieldinfo[0]} = GetDateMk(${$fieldinfo[0]});
  72. ${$fieldinfo[0]} = HtmlReplace(${$fieldinfo[0]}, -1);
  73. $inadd_f .= ',' . $fieldinfo[0] . " ='" . ${$fieldinfo[0]} . "'";
  74. }
  75. }
  76. }
  77. $inadd_f = preg_replace('/,/', '', $inadd_f, 1);
  78. $query = "UPDATE `{$membermodel->table}` set {$inadd_f} WHERE mid='{$cfg_ml->M_ID}'";
  79. // 清除缓存
  80. $cfg_ml->DelCache($cfg_ml->M_ID);
  81. if (!$dsql->ExecuteNoneQuery($query)) {
  82. ShowMsg("更新附加表 `{$membermodel->table}` 时出错,请联系管理员!", "javascript:;");
  83. exit();
  84. } else {
  85. ShowMsg('成功更新你的详细资料!', 'edit_fullinfo.php', 0, 5000);
  86. exit();
  87. }
  88. }