root/trunk/php/src/authadldbuttom_3_importfromad.php @ 691

Revision 691, 14.9 KB (checked in by mclight77, 11 months ago)

Removed from table shablon fields shablonpool and userpool.
Removed these fields from web interface.
Import settings from sams 1.x are updated (delay pool settings transfer).

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('adld', 'adldgroup', '$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  $QUERY="INSERT INTO shablon ( s_name, s_quote, s_auth, s_period, s_clrdate, s_alldenied ) VALUES ( '$snick', '$defaulttraf', '$auth', '$period', '$clrdate', '0' ) ";
73echo "$QUERY<BR>";
74  $DB->samsdb_query($QUERY);
75  $DB->samsdb_query_value("SELECT s_shablon_id FROM shablon WHERE s_name='$snick' ");
76  $row=$DB->samsdb_fetch_array();
77  $sid=$row['s_shablon_id'];
78  $DB->free_samsdb_query();
79  $DB->samsdb_query("INSERT INTO sconfig_time ( s_shablon_id, s_trange_id ) VALUES ( '$sid', '$trange' ) ");
80//  UpdateLog("$SAMSConf->adminname","$shablonnew_AddShablon_1 $snick","01");
81
82  print("<SCRIPT>\n");
83  print("  parent.lframe.location.href=\"lframe.php\"; \n");
84  print("</SCRIPT> \n");
85}
86
87
88
89function ImportFromAD()
90{
91  require_once("adldap.php");
92
93  global $SAMSConf;
94  global $USERConf;
95  $DB=new SAMSDB(&$SAMSConf);
96 
97  $lang="./lang/lang.$SAMSConf->LANG";
98  require($lang);
99
100  if($USERConf->ToWebInterfaceAccess("C")!=1 )
101        exit(0);
102
103echo "ImportFromAD<BR>";
104 
105  if(isset($_GET["addtemplates"])) $addtemplates=$_GET["addtemplates"];
106  if(isset($_GET["addgroups"])) $addgroups=$_GET["addgroups"];
107  if(isset($_GET["addgroupname"])) $addgroupname=$_GET["addgroupname"];
108
109  if(isset($_GET["defaulttraf"])) $defaulttraf=$_GET["defaulttraf"];
110
111  if(isset($_GET["period"])) $period=$_GET["period"];
112  if(isset($_GET["newperiod"])) $newperiod=$_GET["newperiod"];
113   
114  if(isset($_GET["clryear"])) $clryear=$_GET["clryear"];
115  if(isset($_GET["clrmonth"])) $clrmonth=$_GET["clrmonth"];
116  if(isset($_GET["clrday"])) $clrday=$_GET["clrday"];
117  if(isset($_GET["trange"])) $trange=$_GET["trange"];
118
119  if(isset($_GET["enabled"])) $enabled=$_GET["enabled"];
120
121        $addgroups="on";
122        $addtemplates="on";
123
124        if($enabled=="on")
125                $enabled=1;
126        else 
127                $enabled=0;
128
129        if($period=="A")
130        {
131                $period=$newperiod;
132                $clrdate="$clryear-$clrmonth-$clrday"; 
133        } 
134
135        $adldserver=GetAuthParameter("adld","adldserver");
136        $basedn=GetAuthParameter("adld","basedn");
137        $adadmin=GetAuthParameter("adld","adadmin");
138        $adadminpasswd=GetAuthParameter("adld","adadminpasswd");
139        $usergroup=GetAuthParameter("adld","usergroup");
140
141        $LDAPBASEDN2=strtok($basedn,".");
142        $LDAPBASEDN="DC=$LDAPBASEDN2";
143        while(strlen($LDAPBASEDN2)>0)
144        {
145                $LDAPBASEDN2=strtok(".");
146                if(strlen($LDAPBASEDN2)>0)
147                        $LDAPBASEDN="$LDAPBASEDN,DC=$LDAPBASEDN2";
148        }
149
150        $pdc=array("$adldserver");
151        $options=array(account_suffix=>"@$basedn", base_dn=>"$LDAPBASEDN",domain_controllers=>$pdc, 
152        ad_username=>"$adadmin",ad_password=>"$adadminpasswd","","","");
153
154        $ldap=new adLDAP($options);
155
156
157
158
159        $i=0;
160        while(strlen($addgroupname[$i])>0)
161        {
162echo "$i: $addgroupname[$i]<BR>";
163                if($addtemplates=="on")
164                {
165echo " add template: $addgroupname[$i]<BR>";
166
167
168                        $result=$DB->samsdb_query_value("SELECT s_name FROM shablon where s_name = '$addgroupname[$i]'");
169                        if($result == 0) 
170                        {
171                                if($clrdate=="")
172                                        $clrdate="1980-01-01";
173
174                                $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' ) ");
175                                $DB->samsdb_query_value("SELECT s_shablon_id FROM shablon WHERE s_name='$addgroupname[$i]' ");
176                                $row=$DB->samsdb_fetch_array();
177                                $sid=$row['s_shablon_id'];
178                                $DB->free_samsdb_query();
179                                $DB->samsdb_query("INSERT INTO sconfig_time ( s_shablon_id, s_trange_id ) VALUES ( '$sid', '$trange' ) ");
180                                echo "create template $addgroupname[$i] "; 
181                        }
182
183                }
184                if($addgroups=="on")
185                {
186echo " add group: $addgroupname[$i]<BR>";
187                        $result=$DB->samsdb_query_value("SELECT s_name FROM sgroup where s_name = '$addgroupname[$i]'");
188                        if($result == 0) 
189                        {
190                                $result=$DB->samsdb_query("INSERT INTO sgroup (s_name) VALUES('$addgroupname[$i]') ");
191                                echo "create group $addgroupname[$i] "; 
192                                $result=$DB->samsdb_query("INSERT INTO auth_param (s_auth, s_param, s_value) VALUES('adld', 'adldgroup', '$addgroupname[$i]') ");
193                        }
194
195
196
197//      $groupid=1;
198//      $shablonid=1;
199
200        $result=$DB->samsdb_query_value("SELECT s_name, s_group_id FROM sgroup where s_name = '$addgroupname[$i]'");
201        $row=$DB->samsdb_fetch_array();
202        $groupid=$row['s_group_id'];
203
204        $result=$DB->samsdb_query_value("SELECT s_name, s_shablon_id FROM shablon where s_name = '$addgroupname[$i]'");
205        $row=$DB->samsdb_fetch_array();
206        $shablonid=$row['s_shablon_id'];
207
208        $a=$ldap->group_users($addgroupname[$i]);
209        $acount=count($a);
210        for($j=0;$j<$acount;$j++)
211        {
212                $user=$a[$j];
213                $username=$a[$j];
214
215                $userinfo=$ldap->user_info( $user, $fields=NULL);
216                $username2 = UTF8ToSAMSLang($user);
217                $displayname = UTF8ToSAMSLang($userinfo[0]["displayname"][0]);
218                $name=explode(" ",$displayname);
219                $cname=count($name);
220                echo " $user $username $name[0] ".$name[$cname-1]." $cname<BR>";
221
222                if($enabled=="")
223                        $enabled=1;
224
225                $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 ( '$user', '$userdomain', '$name[0]', '".$name[$cname-1]."', '$shablonid', '$defaulttraf',  '0', '$enabled', '$groupid', '$usersoname', '$userip', '$pass', '0', '0', '0') ";
226                $DB->samsdb_query($QUERY);
227//      $DB->samsdb_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 ( '$user', '$userdomain', '$name[0]', '".$name[$cname-1]."', '$shablonid', '$userquote', '0', '$enabled', $groupid, '$usersoname', '$userip', '$pass', '0', '0', '0') ");
228
229        }
230
231                }
232                print(" <BR>");
233                $i++;
234        }
235        print("<SCRIPT>\n");
236        print("  parent.lframe.location.href=\"lframe.php\"; \n");
237        print("  parent.tray.location.href=\"tray.php?show=usergrouptray&groupname=$groupname&groupnick=$groupnick\";\n");
238        print("</SCRIPT> \n");
239
240}
241
242function ImportFromADForm()
243{
244  global $SAMSConf;
245  global $USERConf;
246 
247  $lang="./lang/lang.$SAMSConf->LANG";
248  require($lang);
249
250  if($USERConf->ToWebInterfaceAccess("C")!=1 )
251        exit(0); 
252
253  PageTop("importfromad-48.jpg"," $authadldbuttom_3_importfromad_ImportFromADForm_1 ");
254 
255        require_once("src/adldap.php");
256
257        print("<FORM NAME=\"AddDomainUsers\" ACTION=\"main.php\">\n");
258        $DB=new SAMSDB(&$SAMSConf);
259
260        $adldserver=GetAuthParameter("adld","adldserver");
261        $basedn=GetAuthParameter("adld","basedn");
262        $adadmin=GetAuthParameter("adld","adadmin");
263        $adadminpasswd=GetAuthParameter("adld","adadminpasswd");
264        $usergroup=GetAuthParameter("adld","usergroup");
265
266        $LDAPBASEDN2=strtok($basedn,".");
267        $LDAPBASEDN="DC=$LDAPBASEDN2";
268        while(strlen($LDAPBASEDN2)>0)
269        {
270                $LDAPBASEDN2=strtok(".");
271                if(strlen($LDAPBASEDN2)>0)
272                        $LDAPBASEDN="$LDAPBASEDN,DC=$LDAPBASEDN2";
273        }
274
275        $pdc=array("$adldserver");
276        $options=array(account_suffix=>"@$basedn", base_dn=>"$LDAPBASEDN",domain_controllers=>$pdc, 
277        ad_username=>"$adadmin",ad_password=>"$adadminpasswd","","","");
278
279        $ldap=new adLDAP($options);
280
281        $groupinfo=$ldap->all_groups($include_desc = false, $search = "*", $sorted = true);
282        $gcount=count($groupinfo);
283
284        print("<FORM NAME=\"AddFromAD\" ACTION=\"main.php\">\n");
285        print("<INPUT TYPE=\"HIDDEN\" NAME=\"show\" id=Show value=\"exe\">\n");
286        print("<INPUT TYPE=\"HIDDEN\" NAME=\"function\" id=function value=\"importfromad\">\n");
287        print("<INPUT TYPE=\"HIDDEN\" NAME=\"filename\" id=filename value=\"authadldbuttom_3_importfromad.php\">\n"); 
288/* */
289        echo "<TABLE WIDTH=90%>";
290        print("<TR><TD WIDTH=30%><B>$authadldbuttom_3_importfromad_ImportFromADForm_2:\n");
291        print("<TD WIDTH=70%><SELECT NAME=\"addgroupname[]\" SIZE=15 TABINDEX=30 MULTIPLE>\n");
292        for($i=0;$i<$gcount;$i++)
293        {
294                $groupname = UTF8ToSAMSLang($groupinfo[$i]);
295                if(SearchAuthParameter("adld","adldgroup","$groupname")==0)
296                        print("<OPTION VALUE=\"$groupname\"> $groupname \n");
297        }
298        print("</SELECT>\n");
299
300        print("<TR><TD><B>$usersbuttom_1_domain_AddUsersFromDomainForm_6");
301        print("<TD><INPUT TYPE=\"CHECKBOX\" NAME=\"enabled\" CHECKED>");
302
303/*
304        print("<TR><TD WIDTH=30%><B>Create SAMS templates with AD groups name:\n");
305        print("<TD><INPUT TYPE=\"CHECKBOX\" NAME=\"addtemplates\" CHECKED onclick=ADTempaletesEnabled(AddDomainUsers)>");
306
307           print("<SCRIPT LANGUAGE=JAVASCRIPT> \n");
308           print("function ADTempaletesEnabled(formname) \n");
309           print("{ \n");
310           print("  if(formname.addtemplates.checked==true) \n");
311           print("    {\n");
312           print("      formname.defaulttraf.disabled=false;  \n");
313           print("      formname.period.disabled=false;  \n");
314           print("      EnterPeriod(formname);  \n");
315           print("      formname.trange.disabled=false;  \n");
316//           print("      formname.newperiod.disabled=false;  \n");
317//           print("      formname.clryear.disabled=false;  \n");
318//           print("      formname.clrmonth.disabled=false;  \n");
319//           print("      formname.clrday.disabled=false;  \n");
320           print("    }\n");
321           print("  else \n");
322           print("    {\n");
323           print("      formname.defaulttraf.disabled=true;  \n");
324           print("      formname.period.disabled=true;  \n");
325//         print("      EnterPeriod(formname);  \n");
326           print("      formname.newperiod.disabled=true;  \n");
327           print("      formname.clryear.disabled=true;  \n");
328           print("      formname.clrmonth.disabled=true;  \n");
329           print("      formname.clrday.disabled=true;  \n");
330           print("      formname.trange.disabled=true;  \n");
331           print("    }\n");
332           print("}\n");
333           print("</SCRIPT> \n");
334*/
335        print("<TR>\n");
336        print("<TD>\n");
337        print("$shablonnew_NewShablonForm_3:\n");
338        print("<TD>\n");
339        print("<INPUT TYPE=\"TEXT\" NAME=\"defaulttraf\" SIZE=6 VALUE=\"100\"> <B> 0 - unlimited traffic\n" );
340
341        print("<TR>\n");
342        print("<TD>\n");
343        print("$shablonnew_NewShablonForm_10\n");
344        print("<TD>\n");
345        print("<SELECT NAME=\"period\" onchange=EnterPeriod(AddDomainUsers)  $CCLEAN> \n");
346        print("<OPTION value=\"M\" SELECTED>$shablonnew_NewShablonForm_11\n");
347        print("<OPTION value=\"W\">$shablonnew_NewShablonForm_12\n");
348        print("<OPTION value=\"A\">$shablonnew_NewShablonForm_13\n");
349        print("</SELECT>\n");
350
351        print("<SCRIPT LANGUAGE=JAVASCRIPT> \n");
352        print("function EnterPeriod(formname) \n");
353        print("{ \n");
354        print("  var period=formname.period.value; \n");
355        print("  var clryear=formname.clryear.value; \n");
356        print("  var clrmonth=formname.clrmonth.value; \n");
357        print("  var clrday=formname.clrday.value; \n");
358      //print("  value=window.confirm(\"1? \" );\n");
359         print("  if(period==\"A\") \n");
360        print("    {\n");
361        print("      formname.newperiod.disabled=false;  \n");
362        print("      formname.clryear.disabled=false;  \n");
363        print("      formname.clrmonth.disabled=false;  \n");
364        print("      formname.clrday.disabled=false;  \n");
365        print("    }\n");
366        print("  else \n");
367        print("    {\n");
368        print("      formname.newperiod.disabled=true;  \n");
369        print("      formname.clryear.disabled=true;  \n");
370        print("      formname.clrmonth.disabled=true;  \n");
371        print("      formname.clrday.disabled=true;  \n");
372        print("    }\n");
373        print("}\n");
374        print("</SCRIPT> \n");
375        $month=array(0,1,2,3,4,5,6,7,8,9,10,11,12); 
376        $days=array(0,31,28,31,30,31,30,31,31,30,31,30,31); 
377        $YCLRVALUE=strftime("%Y");
378        $MCLRVALUE=strftime("%m");
379        $DCLRVALUE=strftime("%d");
380        if($DCLRVALUE+1>$days[$MCLRVALUE])
381        {
382          $DCLRVALUE=1;
383          $MCLRVALUE+=1;
384          if($MCLRVALUE>12)
385            {
386              $MCLRVALUE=1;
387              $YCLRVALUE+=1;
388            }
389        }
390        else
391        $DCLRVALUE+=1; 
392        print("<TR><TD>\n");
393        print("<TD> $shablonnew_NewShablonForm_14: \n");
394        print("<INPUT TYPE=\"TEXT\" NAME=\"newperiod\" SIZE=5 DISABLED>$shablonnew_NewShablonForm_15\n");
395        print("<TR><TD><TD> $shablonnew_NewShablonForm_16: \n");
396        print("<BR><INPUT TYPE=\"TEXT\" NAME=\"clryear\" SIZE=4 DISABLED VALUE=\"$YCLRVALUE\">:\n");
397        print("<INPUT TYPE=\"TEXT\" NAME=\"clrmonth\" SIZE=2 DISABLED VALUE=\"$MCLRVALUE\">:\n");
398        print("<INPUT TYPE=\"TEXT\" NAME=\"clrday\" SIZE=2 DISABLED VALUE=\"$DCLRVALUE\">\n");
399
400        print("<TR><TD>$AddTRangeForm_trangetray_1:<TD><SELECT NAME=\"trange\" ID=\"trange\" >\n");
401        $num_rows=$DB->samsdb_query_value("SELECT * FROM timerange ");
402        while($row=$DB->samsdb_fetch_array())
403        {
404           print("<OPTION VALUE=$row[s_trange_id]> $row[s_name] ($row[s_timestart] - $row[s_timeend] )");
405       
406        }
407        print("</SELECT>\n");
408
409
410
411/*
412        print("<TR><TD WIDTH=30%><B>Create SAMS groups with AD groups name:\n");
413        print("<TD><INPUT TYPE=\"CHECKBOX\" NAME=\"addgroups\" CHECKED>");
414*/
415        echo "</TABLE>";
416        print("<INPUT TYPE=\"SUBMIT\" value=\"Import\">\n");
417        print("</FORM>\n");
418
419}
420
421
422
423function authadldbuttom_3_importfromad()
424{
425  global $SAMSConf;
426  global $USERConf;
427 
428  $lang="./lang/lang.$SAMSConf->LANG";
429  require($lang);
430
431  if($USERConf->ToWebInterfaceAccess("C")==1 )
432    {
433       GraphButton("main.php?show=exe&function=importfromadform&filename=authadldbuttom_3_importfromad.php","basefrm","importfromad-32.jpg","importfromad-48.jpg","$authadldbuttom_3_importfromad_ImportFromADForm_1");
434        }
435
436}
437
438?>
Note: See TracBrowser for help on using the browser.