root/trunk/php/src/authntlmbuttom_3_importfromntlm.php @ 696

Revision 696, 14.2 KB (checked in by DmitryChemerik, 11 months ago)

В веб интерфейсе добавлены ссылки на документацию на сайте sams.perm.ru

Line 
1<?php
2/* 
3 * SAMS (Squid Account Management System)
4 * Author: Dmitry Chemerik chemerik@mail.ru
5 * (see the file 'main.php' for license details)
6 */
7
8function AddGroup()
9{
10  global $SAMSConf;
11  $DB=new SAMSDB(&$SAMSConf);
12  $lang="./lang/lang.$SAMSConf->LANG";
13  require($lang);
14
15  if($USERConf->ToWebInterfaceAccess("C")!=1 )
16        exit(0);
17
18  if(isset($_GET["groupnick"])) $groupnick=$_GET["groupnick"];
19
20//  $groupname=TempName();
21
22  $result=$DB->samsdb_query_value("SELECT s_name FROM sgroup where s_name = '$groupnick'");
23//  $result=mysql_query("SELECT nick FROM groups where nick = '$groupnick';");
24  if($result == 0) 
25  {
26    $result=$DB->samsdb_query("INSERT INTO sgroup (s_name) VALUES('$groupnick') ");
27    $result=$DB->samsdb_query("INSERT INTO auth_param (s_auth, s_param, s_value) VALUES('ntlm', 'ntlmgroup', '$groupnick') ");
28//    if($result!=FALSE)
29//      UpdateLog("$SAMSConf->adminname","Added group  $groupnick ","02");
30
31    print("<SCRIPT>\n");
32    print("  parent.lframe.location.href=\"lframe.php\"; \n");
33    print("  parent.tray.location.href=\"tray.php?show=usergrouptray&groupname=$groupname&groupnick=$groupnick\";\n");
34    print("</SCRIPT> \n");
35  } else {
36    PageTop("usergroup_48.jpg","$newgroupbuttom_5_addgroup_newgrpbuttom_5_groupexist");
37  }
38}
39
40
41function AddShablon()
42{
43  global $SAMSConf;
44  $DB=new SAMSDB(&$SAMSConf);
45 
46  $lang="./lang/lang.$SAMSConf->LANG";
47  require($lang);
48
49  if($USERConf->ToWebInterfaceAccess("C")!=1 )
50        exit;
51
52  $period="M";
53  $clrdate="1980-01-01";
54  if(isset($_GET["groupnick"])) $snick=$_GET["groupnick"];
55  if(isset($_GET["defaulttraf"])) $defaulttraf=$_GET["defaulttraf"];
56  if(isset($_GET["auth"])) $auth=$_GET["auth"];
57
58  if(isset($_GET["period"])) $period=$_GET["period"];
59  if(isset($_GET["newperiod"])) $newperiod=$_GET["newperiod"];
60   
61  if(isset($_GET["clryear"])) $clryear=$_GET["clryear"];
62  if(isset($_GET["clrmonth"])) $clrmonth=$_GET["clrmonth"];
63  if(isset($_GET["clrday"])) $clrday=$_GET["clrday"];
64  if(isset($_GET["trange"])) $trange=$_GET["trange"];
65 
66   if($period=="A")
67     {
68       $period=$newperiod;
69       $clrdate="$clryear-$clrmonth-$clrday"; 
70     } 
71 
72  $DB->samsdb_query("INSERT INTO shablon ( s_name, s_quote, s_auth, s_period, s_clrdate, s_alldenied ) VALUES ( '$snick', '$defaulttraf', '$auth', '$period', '$clrdate', '0' ) ");
73  $DB->samsdb_query_value("SELECT s_shablon_id FROM shablon WHERE s_name='$snick' ");
74  $row=$DB->samsdb_fetch_array();
75  $sid=$row['s_shablon_id'];
76  $DB->free_samsdb_query();
77  $DB->samsdb_query("INSERT INTO sconfig_time ( s_shablon_id, s_trange_id ) VALUES ( '$sid', '$trange' ) ");
78//  UpdateLog("$SAMSConf->adminname","$shablonnew_AddShablon_1 $snick","01");
79
80  print("<SCRIPT>\n");
81  print("  parent.lframe.location.href=\"lframe.php\"; \n");
82  print("</SCRIPT> \n");
83}
84
85
86
87function ImportFromNTLM()
88{
89
90  global $SAMSConf;
91  global $USERConf;
92  $DB=new SAMSDB(&$SAMSConf);
93 
94  $lang="./lang/lang.$SAMSConf->LANG";
95  require($lang);
96
97  if($USERConf->ToWebInterfaceAccess("C")!=1 )
98        exit(0);
99/*
100echo "Import From NTLM<BR>";
101$z1=urlencode("sams ÉÎÔÅÒÎÅÔ","UTF-8");
102$z2=urldecode($z2,"Windows-1251");
103$z3 = urlencode(urldecode("sams ÉÎÔÅÒÎÅÔ", "Windows-1251"), "UTF-8");
104echo "$z1 = $z2 = $z3<BR>";
105*/ 
106  if(isset($_GET["addtemplates"])) $addtemplates=$_GET["addtemplates"];
107  if(isset($_GET["addgroups"])) $addgroups=$_GET["addgroups"];
108  if(isset($_GET["addgroupname"])) $addgroupname=$_GET["addgroupname"];
109
110  if(isset($_GET["defaulttraf"])) $defaulttraf=$_GET["defaulttraf"];
111
112  if(isset($_GET["period"])) $period=$_GET["period"];
113  if(isset($_GET["newperiod"])) $newperiod=$_GET["newperiod"];
114   
115  if(isset($_GET["clryear"])) $clryear=$_GET["clryear"];
116  if(isset($_GET["clrmonth"])) $clrmonth=$_GET["clrmonth"];
117  if(isset($_GET["clrday"])) $clrday=$_GET["clrday"];
118  if(isset($_GET["trange"])) $trange=$_GET["trange"];
119
120  if(isset($_GET["enabled"])) $enabled=$_GET["enabled"];
121
122        $addgroups="on";
123        $addtemplates="on";
124
125        if($enabled=="on")
126                $enabled=1;
127        else 
128                $enabled=0;
129
130        if($period=="A")
131        {
132                $period=$newperiod;
133                $clrdate="$clryear-$clrmonth-$clrday"; 
134        } 
135
136        $ntlmserver=GetAuthParameter("ntlm","ntlmserver");
137        $ntlmdomain=GetAuthParameter("ntlm","ntlmdomain");
138        $ntlmadmin=GetAuthParameter("ntlm","ntlmadmin");
139        $ntlmadminpasswd=GetAuthParameter("ntlm","ntlmadminpasswd");
140        $ntlmusergroup=GetAuthParameter("ntlm","ntlmusergroup");
141
142
143        $e = escapeshellcmd("$ntlmadmin $ntlmadminpasswd");
144        $value=ExecuteShellScript("importntlmusers", $e);
145        $a=explode("|",$value);
146        $acount=count($a);
147        $aflag=0;
148
149        $i=0;
150        while(strlen($addgroupname[$i])>0)
151        {
152echo "$i: $addgroupname[$i]<BR>";
153                if($addtemplates=="on")
154                {
155
156
157                        $result=$DB->samsdb_query_value("SELECT s_name FROM shablon where s_name = '$addgroupname[$i]'");
158                        if($result == 0) 
159                        {
160                               
161                                if($clrdate=="")
162                                        $clrdate="1980-01-01";
163                                $DB->samsdb_query("INSERT INTO shablon ( s_name, s_quote, s_auth, s_period, s_clrdate, s_alldenied,     s_shablon_id2 ) VALUES ( '$addgroupname[$i]', '$defaulttraf', 'ADLD', '$period', '$clrdate', '0', '-1' ) ");
164                                $DB->samsdb_query_value("SELECT s_shablon_id FROM shablon WHERE s_name='$addgroupname[$i]' ");
165                                $row=$DB->samsdb_fetch_array();
166                                $sid=$row['s_shablon_id'];
167                                $DB->free_samsdb_query();
168                                $DB->samsdb_query("INSERT INTO sconfig_time ( s_shablon_id, s_trange_id ) VALUES ( '$sid', '$trange' ) ");
169                                echo "create template $addgroupname[$i] <BR>"; 
170                        }
171
172                }
173                if($addgroups=="on")
174                {
175                        $result=$DB->samsdb_query_value("SELECT s_name FROM sgroup where s_name = '$addgroupname[$i]'");
176                        if($result == 0) 
177                        {
178                                $result=$DB->samsdb_query("INSERT INTO sgroup (s_name) VALUES('$addgroupname[$i]') ");
179                                echo "create group $addgroupname[$i] <BR>"; 
180                                $result=$DB->samsdb_query("INSERT INTO auth_param (s_auth, s_param, s_value) VALUES('ntlm', 'ntlmgroup', '$addgroupname[$i]') ");
181                        }
182
183                        $result=$DB->samsdb_query_value("SELECT s_name, s_group_id FROM sgroup where s_name = '$addgroupname[$i]'");
184                        $row=$DB->samsdb_fetch_array();
185                        $groupid=$row['s_group_id'];
186
187                        $result=$DB->samsdb_query_value("SELECT s_name, s_shablon_id FROM shablon where s_name = '$addgroupname[$i]'");
188                        $row=$DB->samsdb_fetch_array();
189                        $shablonid=$row['s_shablon_id'];
190
191                        for($k=1;$k<$acount;$k++)
192                        {
193                                $gflag=0;
194                                $g=explode(";",$a[$k]);
195                                $gcount=count($g);
196                                for($j=1;$j<$gcount;$j++)
197                                {
198$qqq=str_replace ( "\\", "%", $g[$j] );
199$www=urldecode($qqq, "UTF-8");
200                                        if($g[$j] == $addgroupname[$i])
201                                        {
202echo "user $g[0] added <BR>";
203                                                $gflag=1;
204                                                $QUERY="SELECT s_nick FROM squiduser WHERE s_nick='$g[0]' ";
205                                                $result=$DB->samsdb_query_value($QUERY);
206                                                if($result==0)
207                                                {
208//print("<B>$g[0]</B> group: $g[$j]: Ok <BR>");
209                                                        if($enabled=="")
210                                                                $enabled=0;
211                                                        $QUERY="INSERT INTO squiduser ( s_nick, s_domain, s_name, s_family, s_shablon_id, s_quote,  s_size, s_enabled, s_group_id, s_soname, s_ip, s_passwd, s_hit, s_autherrorc, s_autherrort ) VALUES ( '$g[0]', '$userdomain', '$name[0]', '".$name[$cname-1]."', '$shablonid', '$defaulttraf',  '0', '$enabled', '$groupid', '$usersoname', '$userip', '$pass', '0', '0', '0') ";
212                                                        $DB->samsdb_query($QUERY);
213                                                }
214                                        }
215                                }
216
217                        }
218
219
220                }
221                print(" <BR><BR>");
222                $i++;
223        }
224
225        print("<SCRIPT>\n");
226        print("  parent.lframe.location.href=\"lframe.php\"; \n");
227        print("  parent.tray.location.href=\"tray.php?show=usergrouptray&groupname=$groupname&groupnick=$groupnick\";\n");
228        print("</SCRIPT> \n");
229
230}
231
232function ImportFromNTLMForm()
233{
234  global $SAMSConf;
235  global $USERConf;
236 
237  $lang="./lang/lang.$SAMSConf->LANG";
238  require($lang);
239
240  if($USERConf->ToWebInterfaceAccess("C")!=1 )
241        exit(0); 
242
243  $DB=new SAMSDB(&$SAMSConf);
244
245  PageTop("importfromad-48.jpg"," $authadldbuttom_3_importfromntlm_ImportFromNTLMForm_1 ");
246
247        $ntlmserver=GetAuthParameter("ntlm","ntlmserver");
248        $ntlmadmin=GetAuthParameter("ntlm","ntlmadmin");
249        $ntlmadminpasswd=GetAuthParameter("ntlm","ntlmadminpasswd");
250        $ntlmusergroup=GetAuthParameter("ntlm","ntlmusergroup");
251
252        print("<FORM NAME=\"AddFromNTLM\" ACTION=\"main.php\">\n");
253        print("<INPUT TYPE=\"HIDDEN\" NAME=\"show\" id=Show value=\"exe\">\n");
254        print("<INPUT TYPE=\"HIDDEN\" NAME=\"function\" id=function value=\"importfromntlm\">\n");
255        print("<INPUT TYPE=\"HIDDEN\" NAME=\"filename\" id=filename value=\"authntlmbuttom_3_importfromntlm.php\">\n"); 
256/* */
257//      $e = escapeshellcmd("$ntlmadmin $ntlmadminpasswd");
258//      $value=ExecuteShellScript("ntlm_groups.sh", $e);
259//      $a=explode(";",$value);
260        $users=ExecuteShellScript("getntlmgroups","$ntlmserver $ntlmadmin $ntlmadminpasswd");
261        $a=explode("|",$users);
262//  $acount=count($a);
263        $acount=count($a);
264        $aflag=0;
265
266        echo "<TABLE WIDTH=90%>";
267        print("<TR><TD WIDTH=30%><B>$authadldbuttom_3_importfromntlm_ImportFromNTLMForm_2:\n");
268        print("<TD WIDTH=70%><SELECT NAME=\"addgroupname[]\" SIZE=15 TABINDEX=30 MULTIPLE>\n");
269        for($i=0;$i<$acount;$i++)
270        {
271                $QUERY="SELECT * FROM auth_param WHERE s_auth='ntlm' AND s_param='ntlmgroup' AND s_value='$a[$i]'";
272                $num_rows=$DB->samsdb_query_value($QUERY);
273                if($num_rows==0)
274                        print("<OPTION VALUE=\"$a[$i]\"> $a[$i] $num_rows\n");
275
276        }
277        print("</SELECT>\n");
278
279        print("<TR><TD><B>$usersbuttom_1_domain_AddUsersFromDomainForm_6");
280        print("<TD><INPUT TYPE=\"CHECKBOX\" NAME=\"enabled\" CHECKED>");
281
282/*
283        print("<TR><TD WIDTH=30%><B>Create SAMS templates with AD groups name:\n");
284        print("<TD><INPUT TYPE=\"CHECKBOX\" NAME=\"addtemplates\" CHECKED onclick=ADTempaletesEnabled(AddDomainUsers)>");
285
286           print("<SCRIPT LANGUAGE=JAVASCRIPT> \n");
287           print("function ADTempaletesEnabled(formname) \n");
288           print("{ \n");
289           print("  if(formname.addtemplates.checked==true) \n");
290           print("    {\n");
291           print("      formname.defaulttraf.disabled=false;  \n");
292           print("      formname.period.disabled=false;  \n");
293           print("      EnterPeriod(formname);  \n");
294           print("      formname.trange.disabled=false;  \n");
295//           print("      formname.newperiod.disabled=false;  \n");
296//           print("      formname.clryear.disabled=false;  \n");
297//           print("      formname.clrmonth.disabled=false;  \n");
298//           print("      formname.clrday.disabled=false;  \n");
299           print("    }\n");
300           print("  else \n");
301           print("    {\n");
302           print("      formname.defaulttraf.disabled=true;  \n");
303           print("      formname.period.disabled=true;  \n");
304//         print("      EnterPeriod(formname);  \n");
305           print("      formname.newperiod.disabled=true;  \n");
306           print("      formname.clryear.disabled=true;  \n");
307           print("      formname.clrmonth.disabled=true;  \n");
308           print("      formname.clrday.disabled=true;  \n");
309           print("      formname.trange.disabled=true;  \n");
310           print("    }\n");
311           print("}\n");
312           print("</SCRIPT> \n");
313*/
314        print("<TR>\n");
315        print("<TD>\n");
316        print("$shablonnew_NewShablonForm_3:\n");
317        print("<TD>\n");
318        print("<INPUT TYPE=\"TEXT\" NAME=\"defaulttraf\" SIZE=6 VALUE=\"100\"> <B> 0 - unlimited traffic\n" );
319
320        print("<TR>\n");
321        print("<TD>\n");
322        print("$shablonnew_NewShablonForm_10\n");
323        print("<TD>\n");
324        print("<SELECT NAME=\"period\" onchange=EnterPeriod(AddDomainUsers)  $CCLEAN> \n");
325        print("<OPTION value=\"M\" SELECTED>$shablonnew_NewShablonForm_11\n");
326        print("<OPTION value=\"W\">$shablonnew_NewShablonForm_12\n");
327        print("<OPTION value=\"A\">$shablonnew_NewShablonForm_13\n");
328        print("</SELECT>\n");
329
330        print("<SCRIPT LANGUAGE=JAVASCRIPT> \n");
331        print("function EnterPeriod(formname) \n");
332        print("{ \n");
333        print("  var period=formname.period.value; \n");
334        print("  var clryear=formname.clryear.value; \n");
335        print("  var clrmonth=formname.clrmonth.value; \n");
336        print("  var clrday=formname.clrday.value; \n");
337      //print("  value=window.confirm(\"1? \" );\n");
338         print("  if(period==\"A\") \n");
339        print("    {\n");
340        print("      formname.newperiod.disabled=false;  \n");
341        print("      formname.clryear.disabled=false;  \n");
342        print("      formname.clrmonth.disabled=false;  \n");
343        print("      formname.clrday.disabled=false;  \n");
344        print("    }\n");
345        print("  else \n");
346        print("    {\n");
347        print("      formname.newperiod.disabled=true;  \n");
348        print("      formname.clryear.disabled=true;  \n");
349        print("      formname.clrmonth.disabled=true;  \n");
350        print("      formname.clrday.disabled=true;  \n");
351        print("    }\n");
352        print("}\n");
353        print("</SCRIPT> \n");
354        $month=array(0,1,2,3,4,5,6,7,8,9,10,11,12); 
355        $days=array(0,31,28,31,30,31,30,31,31,30,31,30,31); 
356        $YCLRVALUE=strftime("%Y");
357        $MCLRVALUE=strftime("%m");
358        $DCLRVALUE=strftime("%d");
359        if($DCLRVALUE+1>$days[$MCLRVALUE])
360        {
361          $DCLRVALUE=1;
362          $MCLRVALUE+=1;
363          if($MCLRVALUE>12)
364            {
365              $MCLRVALUE=1;
366              $YCLRVALUE+=1;
367            }
368        }
369        else
370        $DCLRVALUE+=1; 
371        print("<TR><TD>\n");
372        print("<TD> $shablonnew_NewShablonForm_14: \n");
373        print("<INPUT TYPE=\"TEXT\" NAME=\"newperiod\" SIZE=5 DISABLED>$shablonnew_NewShablonForm_15\n");
374        print("<TR><TD><TD> $shablonnew_NewShablonForm_16: \n");
375        print("<BR><INPUT TYPE=\"TEXT\" NAME=\"clryear\" SIZE=4 DISABLED VALUE=\"$YCLRVALUE\">:\n");
376        print("<INPUT TYPE=\"TEXT\" NAME=\"clrmonth\" SIZE=2 DISABLED VALUE=\"$MCLRVALUE\">:\n");
377        print("<INPUT TYPE=\"TEXT\" NAME=\"clrday\" SIZE=2 DISABLED VALUE=\"$DCLRVALUE\">\n");
378
379        print("<TR><TD>$AddTRangeForm_trangetray_1:<TD><SELECT NAME=\"trange\" ID=\"trange\" >\n");
380        $num_rows=$DB->samsdb_query_value("SELECT * FROM timerange ");
381        while($row=$DB->samsdb_fetch_array())
382        {
383           print("<OPTION VALUE=$row[s_trange_id]> $row[s_name] ($row[s_timestart] - $row[s_timeend] )");
384       
385        }
386        print("</SELECT>\n");
387
388
389
390/*
391        print("<TR><TD WIDTH=30%><B>Create SAMS groups with NTLM groups name:\n");
392        print("<TD><INPUT TYPE=\"CHECKBOX\" NAME=\"addgroups\" CHECKED>");
393*/
394        echo "</TABLE>";
395        print("<INPUT TYPE=\"SUBMIT\" value=\"Import\">\n");
396        print("</FORM>\n");
397
398}
399
400
401
402function authntlmbuttom_3_importfromntlm()
403{
404  global $SAMSConf;
405  global $USERConf;
406 
407  $lang="./lang/lang.$SAMSConf->LANG";
408  require($lang);
409
410  if($USERConf->ToWebInterfaceAccess("C")==1 )
411    {
412       GraphButton("main.php?show=exe&function=importfromntlmform&filename=authntlmbuttom_3_importfromntlm.php","basefrm","importfromad-32.jpg","importfromad-48.jpg","$authadldbuttom_3_importfromntlm_ImportFromNTLMForm_1");
413        }
414
415}
416
417?>
Note: See TracBrowser for help on using the browser.