PageRenderTime 60ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/application/modules/default/forms/ValidateThanhVien.php

https://gitlab.com/devtoannh/cafe
PHP | 333 lines | 207 code | 49 blank | 77 comment | 48 complexity | 581e1835493874aa340d35f34a6d21d3 MD5 | raw file
  1. <?php
  2. class Default_Form_ValidateThanhVien{
  3. //Chua nhung thong bao loi cua form
  4. protected $_messagesError = null;
  5. //MANG CHUA DU LIEU SAU KHI KIEM TRA
  6. protected $_arrData;
  7. public function __construct($arrParam = array(), $options = null){
  8. if($options == null){
  9. $info = new Zendvn_System_Info();
  10. $admin_info = $info->getMemberInfo();
  11. $encode = new Zendvn_Encode();
  12. $language = Zend_Registry::get('language');
  13. $language = $language['language'];
  14. //=========================================
  15. //KIEM TRA user_name
  16. //=========================================
  17. $options = array('table'=>'users','field'=>'user_name');
  18. $validator = new Zend_Validate();
  19. $validator->addValidator(new Zend_Validate_NotEmpty(),true)
  20. ->addValidator(new Zend_Validate_EmailAddress(),true)
  21. ->addValidator(new Zend_Validate_Db_NoRecordExists($options),true);
  22. if(!$validator->isValid($arrParam['user_name'])){
  23. $message = $validator->getMessages();
  24. $this->_messagesError['user_name'] = current($message);
  25. $arrParam['user_name'] = '';
  26. }
  27. //=========================================
  28. //KIEM TRA password
  29. //=========================================
  30. $validator = new Zend_Validate();
  31. $validator->addValidator(new Zend_Validate_NotEmpty(),true)
  32. ->addValidator(new Zend_Validate_StringLength(6,32),true)
  33. ->addValidator(new Zend_Validate_Regex('#^[a-zA-Z0-9@\#\$%\^&\*\-\+]+$#'),true);
  34. if(!$validator->isValid($arrParam['password'])){
  35. $message = $validator->getMessages();
  36. $this->_messagesError['password'] = current($message);
  37. }
  38. //=========================================
  39. // Kiểm tra mật khẩu mới nhập lại
  40. //=========================================
  41. $validator = new Zend_Validate();
  42. $validator->addValidator(new Zend_Validate_NotEmpty(),true)
  43. ->addValidator(new Zend_Validate_StringLength(6,32),true);
  44. if(!$validator->isValid($arrParam['password_confirm'])){
  45. $message = $validator->getMessages();
  46. $this->_messagesError['password_confirm'] = current($message);
  47. $arrParam['password_confirm'] = '';
  48. }else if($encode->password($arrParam['password']) != $encode->password($arrParam['password_confirm'])){
  49. $this->_messagesError['password_confirm'] = 'Nhập lại mật khẩu không chính xác';
  50. $arrParam['password_confirm'] = '';
  51. }
  52. //=========================================
  53. //KIEM TRA member_hoten
  54. //=========================================
  55. $validator = new Zend_Validate();
  56. $validator->addValidator(new Zend_Validate_NotEmpty(),true)
  57. ->addValidator(new Zend_Validate_StringLength(2,40),true);
  58. if(!$validator->isValid($arrParam['member_hoten'])){
  59. $message = $validator->getMessages();
  60. $this->_messagesError['member_hoten'] = current($message);
  61. $arrParam['member_hoten'] = '';
  62. }
  63. //=========================================
  64. //KIEM TRA ngaysinh
  65. //=========================================
  66. /* if($arrParam['ngaysinh'] == '00'){
  67. $this->_messagesError['member_ngaysinh'] = 'Vui lòng chọn ngày, tháng, năm sinh';
  68. }else{
  69. if($arrParam['thangsinh'] == '00'){
  70. $this->_messagesError['member_ngaysinh'] = 'Vui lòng chọn ngày, tháng, năm sinh';
  71. }else{
  72. if($arrParam['namsinh'] == '00'){
  73. $this->_messagesError['member_ngaysinh'] = 'Vui lòng chọn ngày, tháng, năm sinh';
  74. }
  75. }
  76. } */
  77. //=========================================
  78. //KIEM TRA Captcha
  79. //=========================================
  80. if($arrParam['captcha'] == ''){
  81. $this->_messagesError['captcha'] = 'Giá trị này không được để trống';
  82. }else{
  83. $captchaID = $arrParam['captchaID'];
  84. $valueCaptcha = $arrParam['captcha'];
  85. $vadilator = new Zendvn_Validate_Captcha($captchaID);
  86. if(!$vadilator->isValid($valueCaptcha)){
  87. $message = $vadilator->getMessages();
  88. $this->_messagesError['captcha'] = current($message);
  89. }
  90. }
  91. //=========================================
  92. //KIEM TRA chapnhansudung
  93. //=========================================
  94. if(empty($arrParam['chap_nhan_su_dung'])){
  95. $this->_messagesError['chap_nhan_su_dung'] = 'Bạn chưa xác nhận';
  96. }
  97. }
  98. if($options['task'] == 'password'){
  99. $info = new Zendvn_System_Info();
  100. $admin_info = $info->getMemberInfo();
  101. $encode = new Zendvn_Encode();
  102. //=========================================
  103. // Kiểm tra mật khẩu hiện tại
  104. //=========================================
  105. $validator = new Zend_Validate();
  106. $validator->addValidator(new Zend_Validate_NotEmpty(),true);
  107. if(!$validator->isValid($arrParam['password_old'])){
  108. $message = $validator->getMessages();
  109. $this->_messagesError['password_old'] = current($message);
  110. $arrParam['password_old'] = '';
  111. }else if($encode->password($arrParam['password_old']) != $admin_info['password']){
  112. $this->_messagesError['password_old'] = 'Mật khẩu cũ bạn nhập không chính xác';
  113. $arrParam['password_old'] = '';
  114. }
  115. //=========================================
  116. //KIEM TRA password
  117. //=========================================
  118. $validator = new Zend_Validate();
  119. $validator->addValidator(new Zend_Validate_NotEmpty(),true)
  120. ->addValidator(new Zend_Validate_StringLength(6,32),true)
  121. ->addValidator(new Zend_Validate_Regex('#^[a-zA-Z0-9@\#\$%\^&\*\-\+]+$#'),true);
  122. if(!$validator->isValid($arrParam['password'])){
  123. $message = $validator->getMessages();
  124. $this->_messagesError['password'] = current($message);
  125. }
  126. //=========================================
  127. // Kiểm tra mật khẩu mới nhập lại
  128. //=========================================
  129. $validator = new Zend_Validate();
  130. $validator->addValidator(new Zend_Validate_NotEmpty(),true)
  131. ->addValidator(new Zend_Validate_StringLength(6,32),true);
  132. if(!$validator->isValid($arrParam['password_confirm'])){
  133. $message = $validator->getMessages();
  134. $this->_messagesError['password_confirm'] = current($message);
  135. $arrParam['password_confirm'] = '';
  136. }else if($encode->password($arrParam['password']) != $encode->password($arrParam['password_confirm'])){
  137. $this->_messagesError['password_confirm'] = 'Nhập lại mật khẩu không chính xác';
  138. $arrParam['password_confirm'] = '';
  139. }
  140. }
  141. if($options['task'] == 'foget-pass'){
  142. //=========================================
  143. //KIEM TRA user_name
  144. //=========================================
  145. $options = array('table'=>'users','field'=>'user_name');
  146. $validator = new Zend_Validate();
  147. $validator -> addValidator(new Zend_Validate_NotEmpty(),true)
  148. -> addValidator(new Zend_Validate_EmailAddress(),true)
  149. -> addValidator(new Zend_Validate_Db_RecordExists($options),true);
  150. if(!$validator->isValid($arrParam['user_name'])){
  151. $message = $validator->getMessages();
  152. $this->_messagesError['user_name'] = current($message);
  153. }
  154. //=========================================
  155. //KIEM TRA Captcha
  156. //=========================================
  157. if($arrParam['captcha'] == ''){
  158. $this->_messagesError['captcha'] = 'Giá trị này không được để trống';
  159. }else{
  160. $captchaID = $arrParam['captchaID'];
  161. $valueCaptcha = $arrParam['captcha'];
  162. $vadilator = new Zendvn_Validate_Captcha($captchaID);
  163. if(!$vadilator->isValid($valueCaptcha)){
  164. $message = $vadilator->getMessages();
  165. $this->_messagesError['captcha'] = current($message);
  166. }
  167. }
  168. }
  169. if($options['task'] == 'xacnhan-pass'){
  170. $encode = new Zendvn_Encode();
  171. //=========================================
  172. // Kiểm tra ma xac nhan
  173. //=========================================
  174. if($encode->password($arrParam['password_moi']) != $arrParam['k']){
  175. $this->_messagesError['password_moi'] = 'Mã xác nhận bạn nhập không chính xác';
  176. }else{
  177. $clause = " user_name = '" . $arrParam['email'] . "'";
  178. $options = array('table'=>'users','field'=>'passmoi','exclude'=>$clause);
  179. $validator = new Zend_Validate();
  180. $validator -> addValidator(new Zend_Validate_NotEmpty(),true)
  181. -> addValidator(new Zend_Validate_Db_RecordExists($options),true);
  182. if(!$validator->isValid($arrParam['k']) || !$validator->isValid($encode->password($arrParam['password_moi']))){
  183. $message = $validator->getMessages();
  184. $this->_messagesError['password_moi'] = 'Mã xác nhận bạn nhập không đúng';
  185. }
  186. }
  187. //=========================================
  188. //KIEM TRA password
  189. //=========================================
  190. $validator = new Zend_Validate();
  191. $validator->addValidator(new Zend_Validate_NotEmpty(),true)
  192. ->addValidator(new Zend_Validate_StringLength(6,32),true)
  193. ->addValidator(new Zend_Validate_Regex('#^[a-zA-Z0-9@\#\$%\^&\*\-\+]+$#'),true);
  194. if(!$validator->isValid($arrParam['password'])){
  195. $message = $validator->getMessages();
  196. $this->_messagesError['password'] = current($message);
  197. }
  198. //=========================================
  199. // Kiểm tra mật khẩu mới nhập lại
  200. //=========================================
  201. $validator = new Zend_Validate();
  202. $validator->addValidator(new Zend_Validate_NotEmpty(),true)
  203. ->addValidator(new Zend_Validate_StringLength(6,32),true);
  204. if(!$validator->isValid($arrParam['password_confirm'])){
  205. $message = $validator->getMessages();
  206. $this->_messagesError['password_confirm'] = current($message);
  207. $arrParam['password_confirm'] = '';
  208. }else if($encode->password($arrParam['password']) != $encode->password($arrParam['password_confirm'])){
  209. $this->_messagesError['password_confirm'] = 'Nhập lại mật khẩu không chính xác';
  210. $arrParam['password_confirm'] = '';
  211. }
  212. //=========================================
  213. //KIEM TRA Captcha
  214. //=========================================
  215. if($arrParam['captcha'] == ''){
  216. $this->_messagesError['captcha'] = 'Giá trị này không được để trống';
  217. }else{
  218. $captchaID = $arrParam['captchaID'];
  219. $valueCaptcha = $arrParam['captcha'];
  220. $vadilator = new Zendvn_Validate_Captcha($captchaID);
  221. if(!$vadilator->isValid($valueCaptcha)){
  222. $message = $vadilator->getMessages();
  223. $this->_messagesError['captcha'] = current($message);
  224. }
  225. }
  226. }
  227. //=========================================
  228. //TRUYEN CAC GIA TRI DUNG VAO MANG $_arrData
  229. //=========================================
  230. $this->_arrData = $arrParam;
  231. }
  232. //Kiem tra Error
  233. //return true neu co loi xuat hien
  234. public function isError(){
  235. if(count($this->_messagesError) > 0){
  236. return true;
  237. }else{
  238. return false;
  239. }
  240. }
  241. //Tra ve mot mang cac thong bao loi
  242. public function getMessageError(){
  243. return $this->_messagesError;
  244. }
  245. //Tra ve mot du lieu sau khi kiem tra
  246. public function getData($options = null){
  247. if($options['upload'] == true){
  248. $this->_arrData['user_avatar'] = $this->uploadFile();
  249. }
  250. return $this->_arrData;
  251. }
  252. //=========================================
  253. // 1.Upload user_avatar
  254. // 2.Resize kich thuoc (100x100 va 450x450)
  255. // 3.Tra ve ten tap tin upload
  256. //=========================================
  257. public function uploadFile(){
  258. //Duong dan den thu muc upload
  259. $upload_dir = FILE_PATH . '/users/';
  260. //=========================================
  261. //UPLOAD FILE user_avatar
  262. //=========================================
  263. $upload = new Zendvn_File_Upload();
  264. $fileInfo = $upload->getFileInfo('user_avatar');
  265. $fileName = $fileInfo['user_avatar']['name'];
  266. if(!empty($fileName)){
  267. $fileName = $upload->upload('user_avatar', $upload_dir . '/orignal',array('task'=>'rename'),'user_');
  268. $thumb = Zendvn_File_Images::create($upload_dir . '/orignal/' . $fileName);
  269. $thumb->resize(100,100)->save($upload_dir . '/img100x100/' . $fileName);
  270. $thumb = Zendvn_File_Images::create($upload_dir . '/orignal/' . $fileName);
  271. $thumb->resize(450,450)->save($upload_dir . '/img450x450/' . $fileName);
  272. if($this->_arrData['action'] == 'edit'){
  273. $upload->removeFile($upload_dir . '/orignal/' . $this->_arrData['current_user_avatar']);
  274. $upload->removeFile($upload_dir . '/img100x100/' . $this->_arrData['current_user_avatar']);
  275. $upload->removeFile($upload_dir . '/img450x450/' . $this->_arrData['current_user_avatar']);
  276. }
  277. }else{
  278. if($this->_arrData['action'] == 'edit'){
  279. $fileName = $this->_arrData['current_user_avatar'];
  280. }
  281. }
  282. return $fileName;
  283. }
  284. }