Google+

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sistem de licenţe...
#1
Iarăşi o pagină interesantă pentru pluginul Page Manager...
Nu este altceva decât un mic sistem de licenţe pentru MyBB...
Pentru adaptare la forumul tau sunt necesare ceva cunoştinţe!
Necesită NewPoints 1.7 instalat!

PHP Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
<?php
global $headerinclude, $header, $theme, $footer, $lang;
//Daca nu esti inregistrat se intoarce eroare
if(!$mybb->user['uid']) 
        error_no_permission();
//Functie de validare a URL-ului
function ValideazaUrl($input) 
{
        $rezultat = eregi("^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~-])*[^\.\,\)\(\s]$",$input);
	if($rezultat) 
                return true;
        else 
                return false;
}
//Se afiseaza un tabel cu ultimile 10 licente cumparate
$listare_interogare = $db->simple_select("license", "uid, site, data, perioada, observatii", "", array("order_by" => 'data', "order_dir" => 'DESC', "limit" => 10));
if ($db->num_rows($listare_interogare) > 0)
{
	$tabel= "";
	while ($lista = $db->fetch_array($listare_interogare))
	{
                $utilizator = get_user($lista['uid']);
                $time = (86400 * (int)$lista['perioada']) + (int)$lista['data'];
		$tabel .= '<tr>
		<td class="trow1">'. build_profile_link($utilizator['username'], $utilizator['uid']). '</td>
		<td class="trow1">'. $lista["observatii"]. '</td>
		<td class="trow1">'. $lista["site"]. '</td>
		<td class="trow1">'. my_date($mybb->settings['dateformat'], $lista['data']) .'</td>
		<td class="trow1">'. my_date($mybb->settings['dateformat'], $time) .'</td>
		</tr>';
	}
}
else
{
	$tabel = '<tr><td class="trow1" colspan="5" align="center">În acest moment nu există nicio licenţă în baza noastră de date!</td></tr>';
}
//Se produce verificarea datelor transmise
$cautauser = htmlspecialchars_uni(trim($mybb->input['searchname']));
$program = htmlspecialchars_uni(trim($mybb->input['program']));
$username = htmlspecialchars_uni(trim($mybb->input['username']));
$perioada = htmlspecialchars_uni(trim($mybb->input['perioada']));
$legatura = htmlspecialchars_uni(trim($mybb->input['legatura']));
$min = 100000;
switch($perioada)
{
        case 30 : $min = 2; 
                  break;
        case 365: $min = 20; 
                  break;
}
if($mybb->input['action'] == 'do_search' && $mybb->request_method == 'post')
{
        verify_post_check($mybb->input['post_key']);
        $i=0;
        $user = $db->fetch_array($db->simple_select("users","uid","username='".$cautauser."'",array("limit" => 1)));
        if (!empty($user['uid']))
{
        $cauta_interogare = $db->simple_select("license", "uid, site, data, perioada, observatii", "uid =".$user['uid'], array("order_by" => 'data', "order_dir" => 'DESC'));
        if ($db->num_rows($cauta_interogare) > 0)
        {
        $cauta ='<tr>
        <td class="tcat"><span class="smalltext"><strong>Utilizator</strong></span></td>
        <td class="tcat"><span class="smalltext"><strong>Licenţă pentru programul</strong></span></td>
        <td class="tcat"><span class="smalltext"><strong>Domeniu licenţă</strong></span></td>
        <td class="tcat"><span class="smalltext"><strong>Data activării</strong></span></td>
        <td class="tcat"><span class="smalltext"><strong>Expiră la data</strong></span></td>
                 </tr>';

	while ($listacautare = $db->fetch_array($cauta_interogare))
	{
                $utilizator = get_user($listacautare['uid']);
                $time = (86400 * (int)$listacautare['perioada']) + (int)$listacautare['data'];		
                $cauta .= '<tr>
		<td class="trow1">'. build_profile_link($utilizator['username'], $utilizator['uid']). '</td>
		<td class="trow1">'. $listacautare["observatii"]. '</td>
		<td class="trow1">'. $listacautare["site"]. '</td>
		<td class="trow1">'. my_date($mybb->settings['dateformat'], $listacautare['data']) .'</td>
		<td class="trow1">'. my_date($mybb->settings['dateformat'], $time) .'</td>
		           </tr>';
                $i++;
	}
        }
        else
        {
	$cauta .= '<tr><td class="trow1" colspan="5" align="center">Nu s-a găsit nicio licenţă a membrului <u>'.$cautauser.'</u>!</td></tr>';
        }
}
else
        $cauta .= '<tr><td class="trow1" colspan="5" align="center">Nu s-a găsit nicio licenţă a membrului <u>'.$cautauser.'</u>!</td></tr>';
        $nrcautari = ' | În total s-au găsit <b>'.$i.'</b> înregistrări !';
}
if($mybb->input['action'] == 'do_license' && $mybb->request_method == 'post')
{
	verify_post_check($mybb->input['my_post_key']);
        $rand = $db->fetch_array($db->simple_select("users", "*", "username='".$username."'",array("limit" => 1)));
        //se verifica daca userul are cel putin 5 posturi la activ pe forum
	if ((int)$rand["postnum"] < 5)
	{
		$errors[] = "Trebuie să ai <b>minim 5 posturi</b> pe forum pentru a putea realiza o comandă!";	
        }
        //se verifica daca userul are punctele necesare sa cumpere aceasta licenta
        if (floatval($rand["newpoints"]) < floatval($min))
        {
                $errors[] = "Nu ai destule puncte pentru a putea realiza această comandă!";
        }
        //se verifica daca nu cumva campul program este null
	if(empty($program))
	{
		$errors[] = "Te rugăm să alegi un program pentru licenţa ta!";	
        }
        //se verifica daca s-a ales o perioada de timp
	if(empty($perioada))
	{
		$errors[] = "Te rugăm să alegi o perioadă pentru licenţa ta!";	
        }
        //se verifica daca legatura a fost completata conform exemplului nostru
	if(empty($legatura)||(!ValideazaUrl($legatura)))
	{
		$errors[] = "Câmpul cu domeniul nu a fost completat sau URL nu este bun!";		
        }
        //se verifica daca nu cumva url-ul respectiv se afla deja in baza de date
        if ($db->num_rows($db->simple_select("license", "*", "site LIKE '".$legatura."%'","")) > 0)
        {
                $errors[] = "Domeniul propus există deja în baza noastră de date!";	
        }
        //daca nu exista nicio eroare atunci se trece la munca serioasa
	if(count($errors) == 0)
	{
                $uid = $rand['uid'];
                $cheie = rand(10000,99999);
		while ($db->num_rows($db->simple_select("license", "*", "cod =".$cheie,""))>0)
                {
                        $cheie = rand(10000,99999);
                }
                $hash = SHA1(MD5(base64_encode($legatura).$cheie));
                $date = array(
                        "uid" => $uid,
                        "cod" => $cheie,
                        "hash" => $hash,
                        "link" => str_replace("=","%3D",base64_encode($legatura)),
                        "site" => $legatura,
                        "perioada" => $perioada,
                        "data" => time(),
                        "observatii" => $program,
                             );
                $db->insert_query("license", $date);
                $timp = (86400 * (int)$perioada) + (int)time();	
                $pm = array(
                        "subject" => "Date licenţă : ".$legatura,
                        "message" => "Salut [b]".$username."[/b]! Acest mesaj este unul automat pentru a-ţi aduce la cunoştiinţă datele licenţei cerute de tine! Mai jos ai aceste date pentru domeniul [b]".$legatura."[/b] din cadrul programului [b]".$program."[/b]!\n[b]Codul tău este :[/b] [code]".$cheie."[/code]\n[b]Cheia ta este :[/b][code]".$hash."[/code]\nEste important de ştiut că această licenţă este valabilă până la data de [b]".my_date($mybb->settings['dateformat'],$timp)."[/b].\nÎţi mulţumim că faci parte din cadrul acestei comunităţi!\nCu respect, [i]Staff-ul HSC[/i].",
                        "touid" => $uid,
                        "receivepms" => true
                           );
                newpoints_addpoints($mybb->user['uid'], -floatval($min), 1, true); 
                newpoints_log("Buy a new license", "The user : ".$username." has bought a new license!", $username, $mybb->user['uid']);
                if (mybb_send_pm($pm,-1))
                {
                        redirect($mybb->settings['bburl'], "Your license  has been successfully inserted in our database! Very soon you will get a PM message with your information!");
                }
                else
                {
                        redirect($mybb->settings['bburl'], "Error in sending information!");
                }
	}
	else
	{
		$errors = inline_error($errors);
	}
}

$template='
<html>
<head>
<title>'.$pages['name'].'</title>
{$headerinclude}
</head>
<body>
{$header}
<table border="0" cellspacing="1" cellpadding="4" class="tborder">
<tr><td class="thead" colspan="5"><strong>Ultimile 10 licenţe</strong></td></tr>
<tr>
<td class="tcat"><span class="smalltext"><strong>Utilizator</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>Licenţă pentru programul</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>Domeniu licenţă</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>Data activării</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>Expiră la data</strong></span></td>
</tr>
{$tabel}
</table><br>
<form action="' . $_SERVER['REQUEST_URI'] . '" method="post">
<input type="hidden" name="post_key" value="{$mybb->post_code}" />
<table border="0" cellspacing="1" cellpadding="4" class="tborder">
<thead>
<tr>
<td colspan="5" class="thead"><strong>Caută licenţă</strong>
</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="trow1">Caută după <u>nume de utilizator</u> : <input type="text" class="textbox" size="50" name="searchname" value="" />{$nrcautari}</td>
</tr>
{$cauta}
<tr>
<td colspan="5" class="trow2" align="center"><input type="hidden" name="action" value="do_search" />
<input type="submit" class="button" value="Începe căutarea!" /></td>
</tr>
</tbody>
</table>
</form><br>
<table border="0" cellspacing="1" cellpadding="4" class="tborder">
<tr><td class="thead" colspan="5"><strong>Cumpără licenţă</strong></td></tr>
<tr>
<td>Această pagină a fost special creată pentru comandarea de licenţe în vederea utilizării produselor noastre. Chiar dacă pare a fi destul de simplă acest script este destul de complex fiind utilizat ca şi un fel de plugin al modului NewPoints!Astfel fiecare utilizator de pe acest forum poate realiza mia multe comenzi care sunt procesate automat în vederea obţinerii unor licenţe / accese!<br>
Cum funcţionează acest script:
<ul>
<li>În primul rând trebuie să ştii să completezi acest formular aşa cum trebuie! Singurul câmp deosebit de important al acestui forumular îl reprezintă acela al adresei web a site-ului / forumului care trebuie completat sub acest şablon <b>http://domeniu.extensie</b> sau <b>http://subdomeniu.domeniu.extensie</b> sau <b>http://domeniu.extensie/legatura</b> !</li>
<li>Apoi este necesar să ştii că pentru a putea fi validată şi procesată comanda trebuie să ai <b>minim 5 posturi pe forum</b> !</li>
<li>Fiind integrat în NewPoints sistemul funcţionează pe bază de credite (puncte)! Astfel trebuie "să plăteşti" <b>2 puncte pentru a cumpăra o licenţă pe 30 de zile</b> sau <b>20 de puncte pentru a cumpăra o licenţă pe 365 de zile</b> !</li>
<li>Aceste puncte / credite pot fi cumpărate cu bani sau pot fi câştigate în funcţie de numărul de posturi şi alte informaţii (pentru alte informaţii vă rugăm să citiţi <a href="page-rules.html" target="_blank">regulamentul</a>)</li>
<li>În momentul în care vă apare un mesaj precum cererea a fost trimisă atunci trebuie să ştiţi că în câteva secunde veţi primi un PM (mesaj privat) prin care veţi primi datele licenţei comandate de dumneavoastră!</li>
</ul>
<i><b>OBSERVAŢIE :</b> Odată ce apucaţi să creaţi o licenţă cu un anumit domeniu nu mai puteţi reveni asupra lui şi să îi schimbaţi URL-ul (cel puţin până expiră licenţa)!</i>
</td>
</tr>
<tr>
<td>
{$errors}
<form action="' . $_SERVER['REQUEST_URI'] . '" method="post">
<input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
<table border="0" cellspacing="' . $theme['borderwidth'] . '" cellpadding="' . $theme['tablespace'] . '" class="tborder">
<thead>
<tr>
<td colspan="2" class="tcat">
<strong>Formular de comandă</strong>
</td>
</tr>
</thead>
<tbody>
{$usertemplate}
<tr>
<td width="40%" class="trow1"><strong>Licenţă pentru programul :</strong></td>
<td width="60%" class="trow1"><select name="program" size="1">
                                <option value="FakeTraffic">FakeTraffic</option>
                              </select>
</td>
</tr>
<tr>
<td width="40%" class="trow2"><strong>Nume de utilizator :</strong></td>
<td width="60%" class="trow2"><input type="text" class="textbox" readonly="true" size="50" name="username" value="'.$mybb->user['username'].'" /></td>
</tr>
<tr>
<td width="40%" class="trow1"><strong>Perioada licenţă :</strong></td>
<td width="60%" class="trow1"><select name="perioada" size="1">
                                <option value="30">1 lună / 2 credite</option>
                                <option value="365">1 an / 20 de credite</option>
                              </select>
</td>
</tr>
<tr>
<td width="40%" class="trow2"><strong>Adresă site/forum : <small>(ex: http://domeniu.extensie )</small></strong></td>
<td width="60%" class="trow2"><input type="text" class="textbox" size="50" name="legatura" value="" /></td>
</tr>
<tr>
<td valign="top" width="40%" class="trow1">Eu <strong>'.$mybb->user['username'].'</strong> declar că </td>
<td width="60%" class="trow1">Sunt de acord să mi se ia din cont suma aleasă (în funcţie de perioada licenţei) pentru a mi se genera o licenţă!</td>
</tr>
<tr>
<td colspan="2" class="trow2" align="center"><input type="hidden" name="action" value="do_license" />
<input type="submit" class="button" value="Trimite comandă!" /></td>
</tr>
</tbody>
</table>
</form>
<br/>
<small><b>NOTĂ:</b> În cazul în care depistaţi diverse probleme / bug-uri în rularea acestui script vă rugăm să ne contactaţi la adresa de email: contact [at] homesoftcenter.com !</small>
</td>
</tr>
</table>
{$footer}
</body>
</html>';
$template=str_replace("\'", "'", addslashes($template));
add_breadcrumb($pages['name']);
eval("\$page=\"".$template."\";");
output_page($page);
?>

Numai bine, Mihu.

Users : collective term for those who use computers. Users are divided into three types : novice, intermediate and expert.
Novice users : people who are afraid that simply pressing a key might break their computer.
Intermediate users : people who don`t know how to fix their computer after they`ve just pressed a key that broke it.
Expert users : people who break other people`s computers.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)