· 8 years ago · Jan 06, 2018, 05:48 AM
1<?php
2//the entire text of which will be shown one way or another user
3function gvv_gTxt($what)
4 {
5
6 $lang = array(
7 'password_all_back' => 'Заполните, пожалйÑта вÑе полÑ!',
8 'pass_er' => 'Пароли не Ñовпадают!',
9 'old_pass_error' => 'Ð’Ñ‹ неправильно ввели Ñтарый пароль!',
10 'pass_ok' => 'Пароль изменён и отправлен вам на почту.',
11 'smoll_pass' => 'У Ð²Ð°Ñ Ð¾Ñ‡ÐµÐ½ÑŒ проÑтой пароль. Сделайте его больше 7 Ñимволов.',
12 'unknow_err' => 'Произошла ошибка, попробуйте повторить позже',
13 'email_er' => 'Введёные адреÑа не Ñовпадают',
14 'email_ok' => 'ÐÐ´Ñ€ÐµÑ Ñлектронной почты изменён.',
15 'old_pass_err' => 'Ð’Ñ‹ неправильно ввели Ñтарый пароль!',
16 'not_user' => 'Ðет такого ÑÐ¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð¸Ñ "Ð˜Ð¼Ñ ÑƒÑ‡ÐµÑ‚Ð½Ð¾Ð¹ запиÑи" и "E-mail"!',
17 'db_ok' => 'База Ñоздана.',
18 'db_del_ok' => 'База удалена <br>',
19 'db_err' => 'Ðевозможно изменить, обратитеÑÑŒ за помощью к админиÑтрации',
20 'email_error' => 'E-mail указан не верно.',
21 'install_db' => 'УÑтановка базы',
22 'installing_db' => 'УÑтановить Базу.',
23 'deleting_db' => 'Удалить Базу.',
24 'new_pass' => 'Ðовый пароль',
25 'new_cpass' => 'Повторите пароль',
26 'old_pass' => 'Старый пароль, Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ',
27 'submit' => 'Изменить',
28 'mail_subject_new_pass' => 'Ñмена паролÑ.',
29 'mail_body_pass' => 'Ваш новый пароль',
30 'time_out' => 'Попытки закончилиÑÑŒ, ждём 10 минут.',
31 'new_mail' => 'Ðовый E-mail',
32 'new_cmail' => 'Повторите E-mail',
33 'pass_cmail' => 'Пароль Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ',
34 'your_name' => 'Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ',
35 'your_mail' => 'Ваш E-mail',
36 'submit_reset' => 'Ð’Ñ‹Ñлать пароль',
37 'reset_pass' => 'ÑÐ±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ.',
38 'name_reg' => 'Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ',
39 'nickname_reg' => 'ÐаÑтоÑщее Ð¸Ð¼Ñ Ð¸Ð»Ð¸ пÑевдоним',
40 'mail_reg' => 'Ваш E-mail',
41 'submit_reg' => 'ЗарегиÑтрироватьÑÑ',
42 'user_is' => 'Такое Ð¸Ð¼Ñ ÑƒÑ‡ÐµÑ‚Ð½Ð¾Ð¹ запиÑи уже зарегиÑтрировано! Попробуйте другое имÑ.',
43 'mail_is' => 'Такой E-mail уже зарегиÑтрирован! Попробуйте воÑпользоватьÑÑ Ð²Ð¾Ñтановлением паролÑ.',
44 'reg_ok' => 'РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно. Проль был выÑлан вам на указаный вами E-mail.',
45 'not_man' => 'Такого человека не ÑущеÑтвует.',
46 'yuo_frand_add_not' => 'Ваш друг уже учаÑтвует в ÑообщеÑтве.',
47 'add_5' => 'Приглашать друзей можно 5 раз за Ñутки.',
48 'add_frand_uge' => 'Ваш друг уже приглашалÑÑ'
49 );
50
51 return $lang[$what];
52 }
53 // register admin part
54if (@txpinterface == 'admin') {
55 add_privs('gvv_admin_edit', '1');
56 register_tab('extensions', 'gvv_admin_edit', gvv_gTxt('install_db'));
57 register_callback('gvv_step_gui', 'gvv_admin_edit');
58}
59// Page extensions
60function gvv_step_gui($event, $step)
61{
62 if(!$step or !in_array($step, array(
63 'gvv_add_db',
64 'gvv_delet_db',
65 'gvv_save_admin'
66 ))) {
67 gvv_add_tab_edit_list();
68 } else $step();
69}
70
71 function gvv_add_tab_edit_list()
72 {
73 pagetop('My plugin tab');
74 echo '<ul>';
75 echo '<li><a href="?event=gvv_admin_edit&step=gvv_add_db">'.gvv_gTxt('installing_db').'</a></li>';
76 echo '<li><a href="?event=gvv_admin_edit&step=gvv_delet_db">'.gvv_gTxt('deleting_db').'</a></li>';
77 echo '</ul>';
78
79 $form = '<form action="?event=gvv_admin_edit&step=gvv_save_admin" method="post">'.'
80<div>
81<div><label>Ð˜Ð¼Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора:</div>
82<div><input name="name" value="" id="name_reset" type="text">
83</label></div>
84<div><label>ÐÐ´Ñ€ÐµÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора:</div>
85<div><input name="email" value="" id="email" type="text">
86</label></div><label>
87<div><label><input value="Сохранить" type="submit">
88</label></div></div></form>';
89 echo $form;
90}
91//save the address and name of the administrator to represent the letters
92function gvv_save_admin()
93{
94 extract(gpsa(array('email','name')));
95 safe_insert('gvv_admin', "id = 1, email = '".doSlash($email)."', name = '".doSlash($name)."'");
96 return 'Данные внеÑены';
97}
98 //create a database to work
99function gvv_add_db()
100 {
101 safe_query("CREATE TABLE IF NOT EXISTS ".safe_pfx('gvv_user_edit')." (name VARCHAR (64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL UNIQUE,
102 repet int not null,
103 time int)");
104 safe_query("CREATE TABLE IF NOT EXISTS ".safe_pfx('gvv_user_friend_add')." (name VARCHAR (64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL UNIQUE,
105 repet int not null,
106 time int)");
107 safe_query("CREATE TABLE IF NOT EXISTS ".safe_pfx('gvv_user_friend')." (email VARCHAR (64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
108 name VARCHAR (64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL)");
109 safe_query("CREATE TABLE IF NOT EXISTS ".safe_pfx('gvv_admin')." (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id),
110 email VARCHAR (64) CHARACTER SET utf8 COLLATE utf8_general_ci,
111 name VARCHAR (64) CHARACTER SET utf8 COLLATE utf8_general_ci)");
112 echo gvv_gTxt('db_ok');
113 gvv_add_tab_edit_list();
114 }
115 //delete the database if not needed
116function gvv_delet_db()
117{
118 if(safe_query("DROP TABLE ".safe_pfx('gvv_user_edit').""));
119 {
120 echo gvv_gTxt('db_del_ok');
121 }
122
123 if(safe_query("DROP TABLE ".safe_pfx('gvv_user_friend_add').""));
124 {
125 echo gvv_gTxt('db_del_ok');
126 }
127
128 if(safe_query("DROP TABLE ".safe_pfx('gvv_user_friend').""));
129 {
130 echo gvv_gTxt('db_del_ok');
131 }
132
133 if(safe_query("DROP TABLE ".safe_pfx('gvv_admin').""));
134 {
135 echo gvv_gTxt('db_del_ok');
136 }
137
138 gvv_add_tab_edit_list();
139}
140//asked how many times the user guessed the password
141function gvv_query_db ($name)
142{
143 if(safe_count('gvv_user_edit', "name = '".doSlash($name)."'") == false)
144 {
145 safe_insert('gvv_user_edit', "repet = 1, name = '".doSlash($name)."'");
146 return true;
147 }
148 $repet = safe_field('repet', 'gvv_user_edit', "name = '".doSlash($name)."'");
149 if ($repet < 5)
150 {
151 $repet = $repet + 1;
152 safe_update('gvv_user_edit', "repet = '$repet'", "name = '".doSlash($name)."'");
153 return true;
154 }
155 $time = safe_field('time', 'gvv_user_edit'," name = '".doSlash($name)."'");
156 if(empty($time))
157 {
158 $time = time() + 600;
159 safe_update('gvv_user_edit', "time = '$time'", "name = '".doSlash($name)."'");
160 return false;
161 }
162 if($time > time())
163 {
164 return false;
165 }
166 else
167 {
168 safe_update('gvv_user_edit', "repet = 3, time = ''", "name = '".doSlash($name)."'");
169 return true;
170 }
171 }
172 //ask how many times a user has invited
173 function gvv_query_db_friend ($name)
174{
175 if(safe_count('gvv_user_friend_add', "name = '".doSlash($name)."'") == false)
176 {
177 safe_insert('gvv_user_friend_add', "repet = 1, name = '".doSlash($name)."'");
178 return true;
179 }
180 $repet = safe_field('repet', 'gvv_user_friend_add', "name = '".doSlash($name)."'");
181 if ($repet < 5)
182 {
183 safe_update('gvv_user_friend_add', "repet = 1", "name = '".doSlash($name)."'");
184 return true;
185 }
186 $time = safe_field('time', 'gvv_user_friend_add'," name = '".doSlash($name)."'");
187 if(empty($time))
188 {
189 $time = time() + 24*60*60;
190 safe_update('gvv_user_friend_add', "time = '$time'", "name = '".doSlash($name)."'");
191 return false;
192 }
193 if($time > time())
194 {
195 return false;
196 }
197 else
198 {
199 safe_update('gvv_user_friend_add', "repet = 1, time = ''", "name = '".doSlash($name)."'");
200 return true;
201 }
202 }
203 //password field in the form of
204 function gvv_pass_tag ($atts)
205{
206 extract(lAtts(array(
207 'name' => '',
208 'label' => '',
209 'break' => '',
210 'class' => '',
211 'default' => '',
212 ), $atts, 0));
213
214 if(empty($label))
215 {
216 if($name == 'new_pass')
217 {
218 $label = gvv_gTxt('new_pass');
219 }
220
221 if($name == 'new_cpass')
222 {
223 $label = gvv_gTxt('new_cpass');
224 }
225
226 if($name == 'oldpass')
227 {
228 $label = gvv_gTxt('old_pass');
229 }
230
231 if($name == 'oldpass_mail')
232 {
233 $label = gvv_gTxt('pass_cmail');
234 }
235
236 }
237
238 $label = '<label class="label'.$class.'">'.$label.'</label>';
239 $gvv_pass_teg = $label.''.$break.'<input name="'.$name.'" value="'.$default.'" class="input'.$class.'" type="password">';
240
241 return $gvv_pass_teg;
242}
243//field for the mail in the form of
244function gvv_mail_tag ($atts)
245{
246 extract(lAtts(array(
247 'name' => '',
248 'label' => '',
249 'break' => '',
250 'class' => '',
251 'default' => '',
252 ), $atts, 0));
253
254 if(empty($label))
255 {
256
257 If($name == 'new_email')
258 {
259 $label = gvv_gTxt('new_mail');
260 }
261 if($name == 'new_cemail')
262 {
263 $label = gvv_gTxt('new_cmail');
264 }
265 if($name == 'email_reset')
266 {
267 $label = gvv_gTxt('your_mail');
268 }
269 }
270
271 $label = '<label class="label'.$class.'">'.$label.'</label>';
272 $gvv_mail_teg = $label.''.$break.'<input name="'.$name.'" value="'.$default.'" class="input'.$class.'" type="text">';
273
274 return $gvv_mail_teg;
275}
276//field for the text field
277function dvv_text_tag ($atts)
278{
279 extract(lAtts(array(
280 'name' => '',
281 'label' => '',
282 'break' => '',
283 'class' => '',
284 'default' => '',
285 ), $atts, 0));
286
287 if($name == 'name_reset')
288 {
289 $label = gvv_gTxt('your_name');
290 }
291
292 $label = '<label class="label'.$class.'">'.$label.'</label>';
293 $gvv_text_teg = $label.''.$break.'<input name="'.$name.'" value="'.$default.'" class="input'.$class.'" type="text">';
294 return $gvv_text_teg;
295}
296//Tag button for submission in the form of
297function gvv_submit_tag ($atts)
298{
299 extract(lAtts(array(
300 'name' => '',
301 'class' => '',
302 'default' => '',
303 ), $atts, 0));
304
305 if(empty($label))
306 {
307 If($name == 'edit_pass' or $name == 'edit_mail' )
308 {
309 $default = gvv_gTxt('submit');
310 }
311
312 if($name == 'reset_pass')
313 {
314 $default = gvv_gTxt('submit_reset');
315 }
316 }
317
318 $gvv_submit_teg = '<input value="'.$default.'" class="submit'.$class.'" type="submit">';
319
320 return $gvv_submit_teg;
321}
322 //form to change your password unless otherwise noted
323function gvv_form_edit_pass()
324{
325 global $txp_user;
326
327 $form_edit_pass = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
328<input type="hidden" name="stage_pass" value="1">
329<div class="selfedit">
330<input name="name" value='.$txp_user.' type="hidden">
331<div id="acaunt_name"><label>'.gvv_gTxt('new_pass').'</div>
332<div id="acaunt_id"><input name="new_pass" value="" id="password" type="password"></label></div>
333<div style="clear: both;"></div>
334<div id="acaunt_name"><label>'.gvv_gTxt('new_cpass').'</div>
335<div id="acaunt_id"><input name="new_cpass" value="" id="password" type="password"></label></div>
336<div style="clear: both;"></div>
337<div id="acaunt_name"><label>'.gvv_gTxt('old_pass').'</div>
338<div id="acaunt_id"><input name="oldpass" value="" id="password" type="password"></label></div>
339<div style="clear: both;"></div>
340<div id="save_acaunt"><input value="'.gvv_gTxt('submit').'" type="submit"></label></div>
341</div></form>';
342
343 return $form_edit_pass;
344}
345//function change password
346function gvv_edit_pass($atts)
347{
348 global $txp_user;
349
350 if (!isset($_POST['stage_pass']))
351 {
352 extract(lAtts(array(
353 'form' => ''
354 ), $atts, 0));
355
356 if(empty($form))
357 {
358 return gvv_form_edit_pass();
359 }
360 else
361 {
362 $form = fetch_form($form);
363 $form = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
364<input type="hidden" name="stage_pass" value="1">
365<input name="name" value='.$txp_user.' type="hidden">
366'.$form.'</form>';
367
368 return $form;
369 }
370 }
371
372 extract(gpsa(array('new_pass', 'new_cpass', 'oldpass', 'name')));
373
374 if (!empty($new_pass) and !empty($new_cpass) and !empty($oldpass))
375 {
376 if (8 > mb_strlen($new_pass))
377 {
378 return gvv_gTxt('smoll_pass');
379 }
380
381 if ($new_pass != $new_cpass)
382 {
383 return gvv_gTxt('pass_er');
384 }
385
386 if (gvv_query_db ($name) === false)
387 {
388 return gvv_gTxt('time_out');
389 }
390
391 if(!txp_validate($name, $oldpass, false))
392 {
393 return gvv_gTxt('old_pass_error');
394 }
395 $rs = safe_update('txp_users', "pass = password(lower('".doSlash($new_pass)."'))", "name = '".doSlash($name)."'");
396 safe_delete('gvv_user_edit', "name = '".doSlash($name)."'");
397
398 if($rs !=1)
399 {
400 return gvv_gTxt('unknow_err');
401 }
402
403 $from_address = safe_field('email', 'gvv_admin'," id = 1");
404 $from_name = safe_field('email', 'gvv_admin'," id = 1");
405 $to_address = safe_field('email', 'txp_users'," name = '".doSlash($name)."'");
406 $site_name = site_name();
407 $reply = '';
408 $site_url = site_url();
409 $subject = "$site_name:".gvv_gTxt('mail_subject_new_pass');
410 $body = "\n".gvv_gTxt('mail_body_pass').": $new_pass \n$site_url";
411 mem_form_mail($from_address, $reply, $to_address, $subject, $body);
412 return gvv_gTxt('pass_ok');
413
414 }
415 else
416 {
417 return gvv_gTxt('password_all_back');
418 }
419}
420//Form for changing email unless otherwise specified
421function gvv_form_edit_email()
422{
423 global $txp_user;
424
425 $form_edit_email = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
426<input type="hidden" name="stage_email" value="1">
427<input name="name" value='.$txp_user.' type="hidden">
428<div class="selfedit">
429<div id="acaunt_name"><label>'.gvv_gTxt('new_mail').':</div>
430<div id="acaunt_id"><input name="new_email" value="" id="email" type="text"></label></div>
431<div style="clear: both;"></div>
432<div id="acaunt_name"><label>'.gvv_gTxt('new_cmail').':</div>
433<div id="acaunt_id"><input name="new_cemail" value="" id="email" type="text"></label></div>
434<div style="clear: both;"></div>
435<div id="acaunt_name"><label>'.gvv_gTxt('pass_cmail').':</div>
436<div id="acaunt_id"><input name="oldpass_mail" value="" id="password" type="password"></label></div>
437<div style="clear: both;"></div>
438<div id="save_acaunt"><input value="'.gvv_gTxt('submit').'" type="submit"></label></div>
439</div></form>';
440
441 return $form_edit_email;
442}
443//function change email
444function gvv_edit_email($atts)
445{
446 global $txp_user;
447
448 if (!isset($_POST['stage_email']))
449 {
450 extract(lAtts(array(
451 'form' => ''
452 ), $atts, 0));
453
454 if(empty($form))
455 {
456 return gvv_form_edit_email();
457 }
458 else
459 {
460 $form = fetch_form($form);
461 $form = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">
462<input type="hidden" name="stage_email" value="1">
463<input name="name" value='.$txp_user.' type="hidden">
464'.$form.'</form>';
465
466 return $form;
467 }
468 }
469
470 extract(gpsa(array('new_email', 'new_cemail', 'oldpass_mail', 'name')));
471
472 if (!empty($new_email) and !empty($new_cemail) and !empty($oldpass_mail))
473 {
474
475 if (!is_valid_email($new_email))
476 {
477 return gvv_gTxt('email_error');
478 }
479
480 if ($new_email != $new_cemail)
481 {
482 return gvv_gTxt('email_er');
483 }
484
485 if (gvv_query_db ($name) === false)
486 {
487 return gvv_gTxt('time_out');
488 }
489
490 if(!txp_validate($name, $oldpass_mail, false))
491 {
492 return gvv_gTxt('old_pass_err');
493 }
494
495 safe_update('txp_users', "email = '".doSlash($new_email)."'", "name = '".doSlash($name)."'");
496 safe_delete('gvv_user_edit', "name = '".doSlash($name)."'");
497 return gvv_gTxt('email_ok');
498 }
499 else
500 {
501 return gvv_gTxt('password_all_back');
502 }
503}
504
505// form of a password reset unless otherwise stated
506function gvv_form_reset_pass()
507{
508
509 $form_reset_pass = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
510<input type="hidden" name="stage_reset" value="1">
511<div class="selfedit">
512<div id="name_reg"><label>'.gvv_gTxt('your_name').':</div><div id="id_reg">
513<input name="name_reset" value="" id="name_reset" type="text">
514</label></div>
515<div id="name_reg"><label>'.gvv_gTxt('your_mail').':</div><div id="id_reg">
516<input name="email_reset" value="" id="email_reset" type="text">
517</label></div><label>
518<div id="submit_reg"><label><input value="'.gvv_gTxt('submit_reset').'" type="submit">
519</label></div></div></form>';
520
521 return $form_reset_pass;
522}
523//function to reset the password
524function gvv_reset_pass($atts)
525{
526
527 if (!isset($_POST['stage_reset']))
528 {
529 extract(lAtts(array(
530 'form' => ''
531 ), $atts, 0));
532
533 if(empty($form))
534 {
535 return gvv_form_reset_pass();
536 }
537 else
538 {
539 $form = fetch_form($form);
540 $form = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
541<input type="hidden" name="stage_reset" value="1">
542'.$form.'</form>';
543
544 return $form;
545 }
546 }
547
548 extract(gpsa(array('name_reset', 'email_reset')));
549
550 if (!empty($name_reset) and !empty($email_reset))
551 {
552
553 if (!is_valid_email($email_reset))
554 {
555 return gvv_gTxt('email_error');
556 }
557
558 if(safe_count('txp_users', "email='".doSlash($email_reset)."' and name='".doSlash($name_reset)."'") != 1)
559 {
560 return gvv_gTxt('not_user');
561 }
562
563 $pass = doSlash(generate_password(10));
564 $rs = safe_update('txp_users', "pass = password(lower('$pass'))", "name = '".doSlash($name_reset)."'");
565
566 if($rs != 1)
567 {
568 return gvv_gTxt('unknow_err');
569 }
570
571 $from_address = safe_field('email', 'gvv_admin'," id = 1");
572 $from_name = safe_field('email', 'gvv_admin'," id = 1");
573 $to_address = $email_reset;
574 $site_name = site_name();
575 $site_url = site_url();
576 $reply = '';
577 $subject = "$site_name: ".gvv_gTxt('reset_pass');
578 $body = "\n".gvv_gTxt('mail_body_pass').": $pass \n$site_url";
579 mem_form_mail($from_address, $reply, $to_address, $subject, $body);
580 return gvv_gTxt('pass_ok');
581 }
582 else
583 {
584 return gvv_gTxt('password_all_back');
585 }
586}
587// registration form unless otherwise noted
588function gvv_form_reg()
589{
590 global $txp_user;
591
592 $form_reg = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
593<input type="hidden" name="stage_reg" value="1">
594<div class="selfedit">
595<div id="acaunt_name"><label>'.gvv_gTxt('name_reg').':</label></div><br><div id="acaunt_id"><input name="name_reg" value="" type="text"></div>
596<div id="acaunt_name"><label>'.gvv_gTxt('nickname_reg').':</label></div><br><div id="acaunt_id"><input name="nickname_reg" value="" type="text"></div>
597<div id="acaunt_name"><label>'.gvv_gTxt('mail_reg').':</label></div><br><div id="acaunt_id"><input name="mail_reg" value="" type="text"></div><br>
598<div id="save_acaunt"><input value="'.gvv_gTxt('submit_reg').'" type="submit"></label></div></div></form>';
599
600 return $form_reg;
601}
602// registration function
603function gvv_registr_user($atts)
604{
605 if (!isset($_POST['stage_reg']))
606 {
607 extract(lAtts(array(
608 'form' => ''
609 ), $atts, 0));
610
611 if(empty($form))
612 {
613 return gvv_form_reg();
614 }
615 else
616 {
617 $form = fetch_form($form);
618 $form = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
619<input type="hidden" name="stage_reg" value="1">
620'.$form.'</form>';
621
622 return $form;
623 }
624 }
625
626 extract(gpsa(array('name_reg', 'nickname_reg', 'mail_reg')));
627
628 if (!empty($name_reg) and !empty($nickname_reg) and !empty($mail_reg))
629 {
630
631 if (!is_valid_email($mail_reg))
632 {
633 return gvv_gTxt('email_error');
634 }
635
636 if (safe_row('user_id', 'txp_users', "name = '".doSlash($name_reg)."'"))
637 {
638 return gvv_gTxt('user_is');
639 }
640
641 if (safe_row('user_id', 'txp_users', "email='".doSlash($mail_reg)."'"))
642 {
643 return gvv_gTxt('mail_is');
644 }
645
646 if(safe_count('gvv_user_friend', "email = '".doSlash($mail_reg)."'") == false)
647 {
648 $privs = 0;
649 }
650 else
651 {
652 $name_add = safe_field('name', 'gvv_user_friend',"email = '".doSlash($mail_reg)."'");
653
654 if(safe_field('privs', 'txp_users',"name = '".doSlash($name)."'") != 0)
655 {
656 $privs = 5;
657 }
658 else
659 {
660 $privs = 0;
661 }
662 }
663
664 $pass = doSlash(generate_password(10));
665 $nonce = md5( uniqid( rand(), true ) );
666 $rs = safe_insert('txp_users',
667 "privs = '$privs',
668 pass = password(lower('$pass')),
669 email='".doSlash($mail_reg)."',
670 RealName = '".doSlash($nickname_reg)."',
671 name = '".doSlash($name_reg)."',
672 nonce = '$nonce'");
673
674 $from_address = safe_field('email', 'gvv_admin'," id = 1");
675 $from_name = safe_field('email', 'gvv_admin'," id = 1");
676 $to_address = $mail_reg;
677 $site_name = site_name();
678 $site_url = site_url();
679 $reply = '';
680 $subject = "$site_name: ".gvv_gTxt('reset_pass');
681 $body = "\n".gvv_gTxt('mail_body_user')."$name_reg".gvv_gTxt('mail_body_reg_pass').": $pass \n$site_url";
682 mem_form_mail($from_address, $reply, $to_address, $subject, $body);
683 return gvv_gTxt('reg_ok');
684 }
685 else
686 {
687 return gvv_gTxt('password_all_back');
688 }
689}
690//form to invite a friend if you do not specify a different
691function gvv_form_friend_add()
692{
693 global $txp_user;
694
695 $form_friend_add = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
696<input type="hidden" name="stage_add" value="1">
697<input name="name" value='.$txp_user.' type="hidden">
698<div class="selfedit">
699<div id="acaunt_name"><label>E-mail друга:</div>
700<div id="acaunt_id"><input name="email" value="" id="email" type="text"></label></div>
701<div style="clear: both;"></div>
702<div id="save_acaunt"><input value="ПриглаÑить" type="submit"></label></div>
703</div></form>';
704
705 return $form_friend_add;
706}
707//function invite a friend
708function gvv_friend_add ($atts)
709{
710 if (!isset($_POST['stage_add']))
711 {
712 extract(lAtts(array(
713 'form' => '',
714 'form_email' => ''
715 ), $atts, 0));
716
717 if(empty($form))
718 {
719 return gvv_form_friend_add();
720 }
721 else
722 {
723 $form = fetch_form($form);
724 $form = '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">'.'
725<input type="hidden" name="stage_reg" value="1">
726'.$form.'</form>';
727
728 return $form;
729 }
730 }
731
732 extract(gpsa(array('name', 'email')));
733
734 if (!is_valid_email($email))
735 {
736 return gvv_gTxt('email_error');
737 }
738
739 $realname = safe_field('RealName', 'txp_users'," name = '".doSlash($name)."'");
740
741 if(!$realname)
742 {
743 return gvv_gTxt('not_man');
744 }
745
746 if(safe_count('txp_users', "email = '".doSlash($email)."'") == true)
747 {
748 return gvv_gTxt('yuo_frand_add_not');
749 }
750
751 if(safe_count('gvv_user_friend', "email = '".doSlash($email)."'") == true)
752 {
753 return gvv_gTxt('add_frand_uge');
754 }
755
756 if (gvv_query_db_friend($name) === false)
757 {
758 return gvv_gTxt('add_5');
759 }
760
761 if(empty($form_email))
762 {
763 $body = "\n
764 Добрый день. $realname, приглашает Ð²Ð°Ñ Ð¿Ñ€Ð¸Ð½Ñть учаÑтие в ÑообщеÑтве $site_name\n
765 ÐÐ´Ñ€ÐµÑ Ñтраницы Ð´Ð»Ñ Ñ€ÐµÐ³Ð¸Ñтрации: ".$site_url."index.php?s=register&c=register";
766 }
767 else
768 {
769 $body = fetch_form($form_email);
770 }
771
772 safe_insert('gvv_user_friend', "name = '".doSlash($name)."', email = '".doSlash($email)."'");
773
774 $from_address = safe_field('email', 'gvv_admin'," id = 1");
775 $from_name = safe_field('email', 'gvv_admin'," id = 1");
776 $to_address = $email;
777 $site_name = site_name();
778 $site_url = site_url();
779 $reply = '';
780 $subject = "$site_name: ".gvv_gTxt('add_frand');
781 mem_form_mail($from_address, $reply, $to_address, $subject, $body);
782 return gvv_gTxt('reg_ok');
783}
784?>