PageRenderTime 63ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/www/slpw/adminsavecontactform.php

https://bitbucket.org/library9/l9-updates
PHP | 197 lines | 187 code | 6 blank | 4 comment | 22 complexity | 000367bbcf29dc986aa276f54c26c3d2 MD5 | raw file
Possible License(s): Apache-2.0, GPL-2.0, BSD-3-Clause
  1. <?php
  2. $groupswithaccess="ADMIN,SUBADMIN";
  3. $noaccesspage="";
  4. $adminajaxcall=true;
  5. require("sitelokpw.php");
  6. if (!isset($adminlanguage))
  7. $adminlanguage="en";
  8. require("adminlanguage-".$adminlanguage.".php");
  9. require("admincommonfunctions.php");
  10. $slsubadmin=false;
  11. if ((!sl_isactivememberof("ADMIN")) && (!sl_isactivememberof("DEMOADMIN")))
  12. $slsubadmin=true;
  13. $errors = array(); // array to hold validation errors
  14. $data = array(); // array to pass back data
  15. $emailsenderror=false; // email send error is handled separately
  16. // Check CSRF value
  17. if ($_POST['slcsrf']!=$_SESSION['ses_slcsrf'])
  18. {
  19. returnError($data,$errors,ADMINMSG_NOTADDUSER.". ".ADMINMSG_CSRFFAILED.".");
  20. exit;
  21. }
  22. $mysql_link=sl_DBconnect();
  23. if ($mysql_link==false)
  24. {
  25. returnError($data,$errors,ADMINMSG_NOTADDUSER.". ".ADMINMSG_MYSQLERROR.".");
  26. exit;
  27. }
  28. $act=$_POST['act'];
  29. $actid=$_POST['actid'];
  30. $formpropertiesfield=$_POST['formpropertiesfield'];
  31. $formstylesfield=$_POST['formstylesfield'];
  32. $numfields=$_POST['numfields'];
  33. $formid=$actid;
  34. if (!$DemoMode)
  35. {
  36. $dataarray=json_decode($formpropertiesfield);
  37. // If editform then get number of existing fields
  38. $numexistingfields=0;
  39. if ($act=="editform")
  40. {
  41. $mysql_result = mysqli_query($mysql_link,"SELECT id FROM sl_contactforms WHERE position>0 AND id=".sl_quote_smart($actid));
  42. if ($mysql_result==false)
  43. {
  44. returnError($data,$errors,ADMINMSG_MYSQLERROR);
  45. exit;
  46. }
  47. $numexistingfields=mysqli_num_rows($mysql_result);
  48. }
  49. // Create or update form in sl_forms table
  50. $query="sl_forms SET ";
  51. $query.="name=".sl_quote_smart($dataarray[0]).",";
  52. $query.="type=".sl_quote_smart("contact");
  53. if (($act=="addform") || ($act=="duplform"))
  54. $query = "INSERT INTO ".$query;
  55. else
  56. $query = "UPDATE ".$query." WHERE id=".sl_quote_smart($actid);
  57. $mysql_result = mysqli_query($mysql_link,$query);
  58. if ($mysql_result==false)
  59. {
  60. print "Error writing data to sl_forms table";
  61. exit;
  62. }
  63. if (($act=="addform") || ($act=="duplform"))
  64. $formid=mysqli_insert_id($mysql_link);
  65. else
  66. $formid=$actid;
  67. $query ="sl_contactforms SET ";
  68. $query.="id=".sl_quote_smart($formid).",";
  69. $query.="position=0".",";
  70. $query.="sendemail=".sl_quote_smart($dataarray[1]).",";
  71. $query.="redirect=".sl_quote_smart($dataarray[2]).",";
  72. $query.="useremailvisitor=".sl_quote_smart($dataarray[3]).",";
  73. $query.="adminemailvisitor=".sl_quote_smart($dataarray[4]).",";
  74. $query.="useremailmember=".sl_quote_smart($dataarray[5]).",";
  75. $query.="adminemailmember=".sl_quote_smart($dataarray[6]).",";
  76. $query.="attachmenttypes=".sl_quote_smart($dataarray[7]).",";
  77. $query.="attachmentsize=".sl_quote_smart($dataarray[8]).",";
  78. $query.="fromnameuser=".sl_quote_smart($dataarray[9]).",";
  79. $query.="replytouser=".sl_quote_smart($dataarray[10]).",";
  80. $query.="sendasuser=".sl_quote_smart($dataarray[11]).",";
  81. $dataarray=json_decode($formstylesfield);
  82. $query.="fonttype=".sl_quote_smart($dataarray[0]).",";
  83. $query.="labelcolor=".sl_quote_smart(substr($dataarray[1],1)).",";
  84. $query.="labelsize=".sl_quote_smart($dataarray[2]).",";
  85. $query.="labelstyle=".sl_quote_smart($dataarray[3]).",";
  86. $query.="inputtextcolor=".sl_quote_smart(substr($dataarray[4],1)).",";
  87. $query.="inputtextsize=".sl_quote_smart($dataarray[5]).",";
  88. $query.="inputtextstyle=".sl_quote_smart($dataarray[6]).",";
  89. $query.="inputbackcolor=".sl_quote_smart(substr($dataarray[7],1)).",";
  90. $query.="bordersize=".sl_quote_smart($dataarray[8]).",";
  91. $query.="bordercolor=".sl_quote_smart(substr($dataarray[9],1)).",";
  92. $query.="borderradius=".sl_quote_smart($dataarray[10]).",";
  93. $query.="rqdfieldlabel=".sl_quote_smart($dataarray[11]).",";
  94. $query.="rqdfieldcolor=".sl_quote_smart(substr($dataarray[12],1)).",";
  95. $query.="rqdfieldsize=".sl_quote_smart($dataarray[13]).",";
  96. $query.="rqdfieldstyle=".sl_quote_smart($dataarray[14]).",";
  97. $query.="messagecolor=".sl_quote_smart(substr($dataarray[15],1)).",";
  98. $query.="messagesize=".sl_quote_smart($dataarray[16]).",";
  99. $query.="messagestyle=".sl_quote_smart($dataarray[17]).",";
  100. $query.="btnlabel=".sl_quote_smart($dataarray[18]).",";
  101. $query.="btnlabelcolor=".sl_quote_smart(substr($dataarray[19],1)).",";
  102. $query.="btnlabelsize=".sl_quote_smart($dataarray[20]).",";
  103. $query.="btncolortype=".sl_quote_smart($dataarray[21]).",";
  104. $query.="btncolorfrom=".sl_quote_smart(substr($dataarray[22],1)).",";
  105. $query.="btncolorto=".sl_quote_smart(substr($dataarray[23],1)).",";
  106. $query.="btnradius=".sl_quote_smart($dataarray[24]).",";
  107. $query.="formerrormsg=".sl_quote_smart($dataarray[25]).",";
  108. $query.="formerrormsgcolor=".sl_quote_smart(substr($dataarray[26],1)).",";
  109. $query.="formerrormsgsize=".sl_quote_smart($dataarray[27]).",";
  110. $query.="formerrormsgstyle=".sl_quote_smart($dataarray[28]).",";
  111. $query.="maxformwidth=".sl_quote_smart($dataarray[29]).",";
  112. $query.="backcolor=".sl_quote_smart(substr($dataarray[30],1)).",";
  113. $query.="btnlabelfont=".sl_quote_smart($dataarray[31]).",";
  114. $query.="btnlabelstyle=".sl_quote_smart($dataarray[32]).",";
  115. $query.="btnbordercolor=".sl_quote_smart(substr($dataarray[33],1)).",";
  116. $query.="btnbordersize=".sl_quote_smart($dataarray[34]).",";
  117. $query.="btnborderstyle=".sl_quote_smart($dataarray[35]).",";
  118. $query.="inputpaddingv=".sl_quote_smart($dataarray[36]).",";
  119. $query.="inputpaddingh=".sl_quote_smart($dataarray[37]).",";
  120. $query.="btnpaddingv=".sl_quote_smart($dataarray[38]).",";
  121. $query.="btnpaddingh=".sl_quote_smart($dataarray[39]).",";
  122. $query.="value=''"; // This line needed as Mysql doesn't allow default for TEXT fields
  123. if (($act=="addform") || ($act=="duplform"))
  124. {
  125. $query = "INSERT INTO ".$query;
  126. $formid=mysqli_insert_id($mysql_link);
  127. }
  128. else
  129. {
  130. $query = "UPDATE ".$query." WHERE position=0 AND id=".sl_quote_smart($actid);;
  131. $formid=$actid;
  132. }
  133. $mysql_result = mysqli_query($mysql_link,$query);
  134. if ($mysql_result==false)
  135. {
  136. returnError($data,$errors,ADMINMSG_MYSQLERROR);
  137. exit;
  138. }
  139. for ($k=0;$k<$numfields;$k++)
  140. {
  141. $dataarray=json_decode($_POST['formfield'.$k]);
  142. $query="sl_contactforms SET ";
  143. $query.="id=".sl_quote_smart($formid).",";
  144. $query.="position=".($k+1).",";
  145. $query.="sitelokfield=".sl_quote_smart($dataarray[0]).",";
  146. $query.="inputtype=".sl_quote_smart($dataarray[1]).",";
  147. $query.="labeltext=".sl_quote_smart($dataarray[2]).",";
  148. $query.="placetext=".sl_quote_smart($dataarray[3]).",";
  149. $dataarray[4]=str_replace(chr(13),"",$dataarray[4]);
  150. $query.="value=".sl_quote_smart($dataarray[4]).",";
  151. $query.="checked=".sl_quote_smart($dataarray[5]).",";
  152. $query.="validation=".sl_quote_smart($dataarray[6]).",";
  153. $query.="showrequired=".sl_quote_smart($dataarray[7]).",";
  154. $query.="errormsg=".sl_quote_smart($dataarray[8]).",";
  155. $query.="fieldwidth=".sl_quote_smart($dataarray[9]).",";
  156. $query.="bottommargin=".sl_quote_smart($dataarray[10]).",";
  157. $query.="showfieldfor=".sl_quote_smart($dataarray[11]).",";
  158. $query.="useas=".sl_quote_smart($dataarray[12]);
  159. if ((($act=="addform") || ($act=="duplform")) || (($act=="editform") && ($k>=$numexistingfields)))
  160. $query = "INSERT INTO ".$query;
  161. else
  162. $query = "UPDATE ".$query." WHERE position=".($k+1)." AND id=".sl_quote_smart($actid);
  163. $mysql_result = mysqli_query($mysql_link,$query);
  164. if ($mysql_result==false)
  165. {
  166. returnError($data,$errors,ADMINMSG_MYSQLERROR);
  167. exit;
  168. }
  169. }
  170. // Remove any fields >numfields (some fields may have been deleted since last time)
  171. $mysql_result = mysqli_query($mysql_link,"DELETE FROM sl_contactforms WHERE id=".sl_quote_smart($actid)." AND position>".$numfields);
  172. }
  173. returnSuccess($data,"Form saved",$formid);
  174. exit;
  175. function returnSuccess($data,$msg,$formid)
  176. {
  177. $data['success'] = true;
  178. $data['message'] = $msg;
  179. $data['formid'] = $formid;
  180. echo json_encode($data);
  181. exit;
  182. }
  183. function returnError($data,$errors,$msg)
  184. {
  185. $data['success'] = false;
  186. $data['errors'] = $errors;
  187. $data['message'] = $msg;
  188. echo json_encode($data);
  189. exit;
  190. }
  191. ?>