Commit | Line | Data |
---|---|---|
e586807d | 1 | <?php |
b42b2bf9 H |
2 | function login() { |
3 | // lockout capatibility | |
4 | // with ldap sync | |
5 | // <h1> This is da default one</h1> | |
6 | require(SYSTEM_ROOT.'/inc/ldap.inc'); | |
7 | ||
8 | global $db,$error,$node_id; | |
9 | $login = mysql_real_escape_string($_POST['login']); | |
10 | $password = $_POST['password']; | |
11 | $hash = md5($password); | |
12 | $login_type = $_POST['login_type']; | |
13 | $referer = $_SERVER['HTTP_REFERER']; | |
14 | ||
15 | if (!session_id()) { | |
16 | $error='asi nemas zapnute cookies alebo co'; | |
17 | return false; | |
18 | } | |
19 | ||
20 | switch ($login_type) { | |
21 | case "name": | |
22 | $q = "select * from users where login='$login'"; | |
23 | $set = $db->query($q); | |
24 | $set->next(); | |
25 | $user_id = $set->getString('user_id'); | |
26 | $user_name = $set->getString('login'); | |
27 | break; | |
28 | case "id": | |
29 | $q="select * from users where user_id='$login'"; | |
30 | $set=$db->query($q); | |
31 | $set->next(); | |
32 | $user_id=$set->getString('user_id'); | |
33 | $user_name=$set->getString('login'); | |
34 | break; | |
35 | } | |
36 | ||
37 | $ldap_response=LDAPuser::auth($user_id,$password); | |
38 | if ($set->getString('password') != $hash and !$ldap_response) { | |
39 | $error="Zadal si nespravne uzivatelske meno [alebo id] alebo heslo. Rob so sebou nieco"; | |
40 | return false; | |
41 | } | |
42 | elseif ($set->getString('header_id') == 2091520) { | |
43 | $error='Tvoja registracia este nebola schvalena.'; | |
44 | return false; | |
45 | } | |
46 | else { | |
47 | $now=date("Y-m-d H:i:s"); | |
48 | $lockout=$set->getString('acc_lockout'); | |
49 | if ($lockout >= $now ) { | |
50 | global $error; | |
51 | $error="Account lockout mas aktivny. Sorry ale neprihlasis sa minimalne do $lockout. | |
52 | Prajem prijemnu odvykacku:-)"; | |
53 | return false; | |
54 | } | |
55 | ||
56 | //ldap replicate | |
57 | // LDAPuser::ldap_mysql_sync($user_name,$user_id,$password); | |
58 | ||
59 | ||
60 | // | |
61 | $cube_vector=$set->getString('cube_vector'); | |
62 | ||
63 | // saves friends list as an array into user session | |
64 | $q="select distinct node_parent,node_name from nodes where node_creator='$user_id' and | |
65 | external_link='session://friend' order by node_parent"; | |
66 | $friendset=$db->query($q); | |
67 | while ($friendset->next()){ | |
68 | $_SESSION['friends'][$friendset->getString('node_parent')]=true; | |
69 | } | |
70 | ||
71 | // saves bookmarks as an array into user session | |
72 | $q="select nodes.node_name,nodes.node_id from node_access left join nodes on node_access.node_id=nodes.node_id | |
73 | where node_access.user_id='$user_id' and node_bookmark='yes' order by node_name"; | |
74 | $bookmarkset=$db->query($q); | |
75 | while ($bookmarkset->next()){ | |
76 | $_SESSION['bookmarks'][$bookmarkset->getString('node_id')]=$bookmarkset->getString('node_name'); | |
77 | } | |
78 | ||
79 | //saves ignored users as an array into user session | |
80 | $q="select node_parent from nodes where node_creator='$user_id' and external_link='session://ignore'"; | |
81 | $ignoreset=$db->query($q); | |
82 | while ($ignoreset->next()){ | |
83 | $_SESSION['ignore'][$ignoreset->getString('node_parent')]=true; | |
84 | } | |
85 | ||
86 | //saves fooked forums as an array into user session | |
87 | $q="select node_parent from nodes where node_creator='$user_id' and external_link='session://fook'"; | |
88 | $fookset=$db->query($q); | |
89 | while ($fookset->next()){ | |
90 | $_SESSION['fook'][$fookset->getString('node_parent')]=true; | |
91 | } | |
92 | ||
93 | LDAPuser::replicate($user_name,$user_id,$password); | |
94 | ||
95 | //save bookstyle into user session | |
96 | $q="select node_content from nodes where node_parent=19 and external_link='session://bookstyl' and node_creator='$user_id'"; | |
97 | $bookstylset=$db->query($q); | |
98 | $bookstylset->next(); | |
99 | $_SESSION['bookstyl'] = $bookstylset->getString('node_content'); | |
100 | ||
101 | // mood | |
102 | $mset = $db->query(sprintf('select moods from users where user_id = %d', $user_id)); | |
103 | $mset->next(); | |
104 | $moods_expl = explode(";",$set->getString('moods')); | |
105 | if (!empty($moods_expl[count($moods_expl)-1])) { | |
106 | $_SESSION['mood_id'] = $moods_expl[count($moods_expl)-1]; | |
107 | $mset = $db->query(sprintf('select node_name, node_content from nodes where node_id = %d', $moods_expl[count($moods_expl)-1])); | |
108 | $mset->next(); | |
109 | $_SESSION['mood_name'] = $mset->getString('node_name'); | |
110 | $_SESSION['mood_content'] = addslashes(substr(strip_tags($mset->getString('node_content')),0,223)); | |
111 | } | |
112 | ||
113 | // last login | |
114 | $db->query(sprintf('update users set last_login = NOW() where user_id = %d', $user_id)); | |
115 | ||
116 | $_SESSION['user_id']=$user_id; | |
117 | $_SESSION['user_name']=addslashes($user_name); | |
118 | if (!empty($cube_vector)) $_SESSION['cube_vector']=$cube_vector; | |
119 | if (empty($_SESSION['template_set'])) $_SESSION['template_set']=$set->getString('template_set'); | |
120 | if (is_numeric($_POST['screen_width'])) $_SESSION['browser']['screen_width']=$_POST['screen_width']; | |
121 | if (is_numeric($_POST['screen_height'])) $_SESSION['browser']['screen_height']=$_POST['screen_height']; | |
122 | $_SESSION['listing_amount']=$set->getString('listing_amount'); | |
123 | $_SESSION['listing_order']=$set->getString('listing_order'); | |
124 | $_SESSION['header_id']=$set->getString('header_id'); | |
125 | } | |
126 | // header("Location: $referer"); | |
127 | return true; | |
128 | } | |
e586807d | 129 | ?> |