/mods/gbook/edit.php

https://github.com/ichraffsnicht/ClanSphere-Enhanced · PHP · 166 lines · 127 code · 31 blank · 8 comment · 28 complexity · b2fa3f50cf1de6f3e01d7b99c8861378 MD5 · raw file

  1. <?php
  2. // ClanSphere 2010 - www.clansphere.net
  3. // $Id$
  4. $cs_lang = cs_translate('gbook');
  5. $cs_post = cs_post('id');
  6. $cs_get = cs_get('id');
  7. $data = array();
  8. $data['tpl']['preview'] = '';
  9. $data['tpl']['extension'] = '';
  10. $gbook_id = empty($cs_get['id']) ? 0 : $cs_get['id'];
  11. if (!empty($cs_post['id'])) $gbook_id = $cs_post['id'];
  12. $from = 'manage';
  13. if (isset($_POST['from'])) $from = $_POST['from'];
  14. elseif (isset($_GET['from'])) $from = $_GET['from'];
  15. $from = cs_secure($from, 0, 0, 0, 0, 0);
  16. $select = 'users_id, gbook_nick, gbook_email, gbook_icq, gbook_msn, gbook_skype, gbook_url, gbook_town, gbook_text, gbook_time';
  17. $cs_gbook = cs_sql_select(__FILE__,'gbook',$select,"gbook_id = '" . (int) $gbook_id . "'");
  18. if(!empty($cs_gbook['users_id'])) {
  19. $select = 'users_nick, users_email, users_place, users_icq, users_msn, users_skype, users_url';
  20. $cs_user = cs_sql_select(__FILE__,'users',$select,"users_id = '" . (int) $cs_gbook['users_id'] . "'");
  21. }
  22. if(isset($_POST['submit']) OR isset($_POST['preview'])) {
  23. $error = '';
  24. if(empty($cs_gbook['users_id'])) {
  25. $cs_gbook['gbook_nick'] = $_POST['gbook_nick'];
  26. $cs_gbook['gbook_email'] = $_POST['gbook_email'];
  27. $cs_gbook['gbook_icq'] = $_POST['gbook_icq'];
  28. $cs_gbook['gbook_msn'] = $_POST['gbook_msn'];
  29. $cs_gbook['gbook_skype'] = $_POST['gbook_skype'];
  30. $cs_gbook['gbook_town'] = $_POST['gbook_town'];
  31. $cs_gbook['gbook_url'] = $_POST['gbook_url'];
  32. //check nick if exists or empty
  33. if (!empty($cs_gbook['gbook_nick'])) {
  34. $exists_user = cs_sql_select(__FILE__,'users','users_nick',"users_nick = '" . cs_sql_escape($cs_gbook['gbook_nick']) . "'");
  35. if(!empty($exists_user)) {
  36. $error .= $cs_lang['error_exist_nick'] . cs_html_br(1);
  37. }
  38. } else {
  39. $error .= $cs_lang['error_nick'] . cs_html_br(1);
  40. }
  41. //check email if exists, chars or empty
  42. if (!empty($cs_gbook['gbook_email'])) {
  43. $exists_user = cs_sql_select(__FILE__,'users','users_email',"users_email = '" . cs_sql_escape($_POST['gbook_email']) . "'");
  44. if(!empty($exists_user)) {
  45. $error .= $cs_lang['error_exist_email'] . cs_html_br(1);
  46. }
  47. $pattern = "/^[0-9a-zA-Z._\\-]+@[0-9a-zA-Z._\\-]{2,}\\.[a-zA-Z]{2,4}\$/";
  48. if(!preg_match($pattern,$cs_gbook['gbook_email'])) {
  49. $error .= $cs_lang['error_email'] . cs_html_br(1);
  50. }
  51. } else {
  52. $error .= $cs_lang['error_email'] . cs_html_br(1);
  53. }
  54. //check msn
  55. if (!empty($cs_gbook['gbook_msn'])) {
  56. $pattern = "/^[0-9a-zA-Z._\\-]+@[0-9a-zA-Z._\\-]{2,}\\.[a-zA-Z]{2,4}\$/";
  57. if(!preg_match($pattern,$cs_gbook['gbook_msn'])) {
  58. $error .= $cs_lang['error_msn'] . cs_html_br(1);
  59. }
  60. }
  61. //check icq
  62. if (!empty($cs_gbook['gbook_icq'])) {
  63. $pattern = '#^[\d-]*$#';
  64. if (!preg_match($pattern,$cs_gbook['gbook_icq'])) {
  65. $error .= $cs_lang['error_icq'] . cs_html_br(1);
  66. }
  67. }
  68. //check url
  69. if (!empty($cs_gbook['gbook_url'])) {
  70. $pattern = "=.[a-z0-9].[a-z0-9]=si";
  71. if(!preg_match($pattern,$cs_gbook['gbook_url'])) {
  72. $error .= $cs_lang['error_url'] . cs_html_br(1);
  73. }
  74. }
  75. }
  76. if (!empty($_POST['gbook_newtime'])) {
  77. $cs_gbook['gbook_time'] = cs_time();
  78. }
  79. $cs_gbook['gbook_text'] = $_POST['gbook_text'];
  80. if(empty($cs_gbook['gbook_text']))
  81. $error .= $cs_lang['no_text'] . cs_html_br(1);
  82. }
  83. if(!isset($_POST['submit']))
  84. $data['head']['body'] = $cs_lang['body_create'];
  85. elseif(!empty($error))
  86. $data['head']['body'] = $error;
  87. //preview
  88. if (isset($_POST['preview']) AND empty($error)) {
  89. $where_user = !empty($id) ? "gbook_users_id = '" . $id . "'" : 0;
  90. $count_entry = cs_sql_count(__FILE__,'gbook',$where_user);
  91. $data['gbook']['entry_count'] = $count_entry + 1;
  92. $data['gbook']['users_nick'] = $cs_gbook['gbook_nick'];
  93. $data['gbook']['icon_town'] = empty($cs_gbook['gbook_town']) ? '' : cs_icon('gohome');
  94. $data['gbook']['town'] = empty($cs_gbook['gbook_town']) ? '' : cs_secure($cs_gbook['gbook_town']);
  95. $data['gbook']['icon_mail'] = cs_html_link('mailto:' . $cs_gbook['gbook_email'],cs_icon('mail_generic'));
  96. $icq = cs_html_link('http://www.icq.com/' . $cs_gbook['gbook_icq'],cs_icon('licq'));
  97. $data['gbook']['icon_icq'] = empty($cs_gbook['gbook_icq']) ? '' : $icq;
  98. $msn = cs_html_link('http://members.msn.com/' . $cs_gbook['gbook_msn'],cs_icon('msn_protocol'));
  99. $data['gbook']['icon_msn'] = empty($cs_gbook['gbook_msn']) ? '' : $msn;
  100. $url = 'http://mystatus.skype.com/smallicon/' . $cs_gbook['gbook_skype'];
  101. $skype = cs_html_link('skype:' . $cs_gbook['gbook_skype'] . '?userinfo',cs_html_img($url,'16','16','0','Skype'),'0');
  102. $data['gbook']['icon_skype'] = empty($cs_gbook['gbook_skype']) ? '' : $skype;
  103. $url = cs_html_link('http://' . $cs_gbook['gbook_url'],cs_icon('gohome'));
  104. $data['gbook']['icon_url'] = empty($cs_gbook['gbook_url']) ? '' : $url;
  105. $data['gbook']['text'] = cs_secure($cs_gbook['gbook_text'],1,1);
  106. $data['gbook']['time'] = cs_date('unix',$cs_gbook['gbook_time'],1);
  107. $data['tpl']['preview'] = cs_subtemplate(__FILE__,$data,'gbook','preview');
  108. }
  109. if (!empty($error) OR !isset($_POST['submit']) OR isset($_POST['preview'])) {
  110. foreach($cs_gbook AS $key => $value)
  111. $data['gbook'][$key] = cs_secure($value);
  112. if($cs_gbook['users_id'] == 0) {
  113. $data['tpl']['extension'] = cs_subtemplate(__FILE__,$data,'gbook','extension');
  114. }
  115. $data['abcode']['smileys'] = cs_abcode_smileys('gbook_text');
  116. $data['abcode']['features'] = cs_abcode_features('gbook_text');
  117. $data['check']['newtime'] = !empty($_POST['gbook_newtime']) ? 'checked="checked"' : '';
  118. $data['gbook']['id'] = $gbook_id;
  119. $data['gbook']['from'] = cs_secure($from);
  120. echo cs_subtemplate(__FILE__,$data,'gbook','edit');
  121. }
  122. else {
  123. $cells = array_keys($cs_gbook);
  124. $save = array_values($cs_gbook);
  125. cs_sql_update(__FILE__,'gbook',$cells,$save,$gbook_id);
  126. if($from == 'users') {
  127. $selid = cs_sql_select(__FILE__,'gbook','gbook_users_id',"gbook_id = '" . $gbook_id . "'",0,0);
  128. $action = 'users';
  129. $more = 'id=' . $selid['gbook_users_id'];
  130. }else{
  131. $action = $from;
  132. $more = '';
  133. }
  134. cs_redirect($cs_lang['changes_done'],'gbook',$action,$more) ;
  135. }