<?php require_once("../class/config.php"); include_once("head.php"); # Function to create/edit subdomain # Take the values of the subdomain in arguments function sub_domains_edit($domain, $sub_domain_id=false) { global $admin, $err, $oldid, $isedit; $dom=new m_dom(); $dom->lock(); if (!$r=$dom->get_domain_all($domain)) { $error=$err->errstr(); } /* if (! empty($sub)) { if (!$sd=$dom->get_sub_domain_all($domain,$sub,$type,$value)) { $error=$err->errstr(); } } */ $sd=$dom->get_sub_domain_all($sub_domain_id); $type=$sd['type']; $sub=$sd['name']; $dom->unlock(); ?> <form action="dom_subdoedit.php" method="post" name="main" id="main"> <table border="0"> <tr> <td> <input type="hidden" name="domain" value="<?php ehe($domain) ?>" /> <input type="hidden" name="sub_domain_id" value="<?php echo $sub_domain_id ?>" /> <input type="hidden" name="action" value="add" /> <?php if ($isedit) { __("Edit a subdomain:"); } else { __("Create a subdomain:"); } ?></td><td> <input type="text" class="int" name="sub" style="text-align:right" value="<?php ehe($sub); ?>" size="22" id="sub" /><span class="int" id="newsubname">.<?php echo $domain; ?></span></td> </tr> <?php $first_advanced=true; $lst_advanced=array(); foreach($dom->domains_type_lst() as $dt) { // If this type is disabled AND it's not the type in use here, continue if ( $dt['enable'] == 'NONE' && strtoupper($type)!=strtoupper($dt['name'])) continue ; // If this type is only for ADMIN and i'm not an admin, continue (oldid is to check if we are an admin who take user identity) if (( $dt['enable'] == 'ADMIN') && (! $admin->enabled and ! intval($oldid))) continue; if ( (! $r['dns'] ) and ($dt['need_dns']) ) continue; $targval=(strtoupper($type)==strtoupper($dt['name']))?$sd['dest']:''; if ($dt['advanced']) { $lst_advanced[]=$dt['name']; if ($first_advanced) { $first_advanced=false; echo "<tr><td colspan=\"2\" class=\"advdom\"></td></tr>"; echo "<tr id='domtype_show' onClick=\"domtype_advanced_show();\"><td colspan='2'><a href=\"javascript:domtype_advanced_show();\"><b>+ "; __("Show advanced options"); echo "</b></a></td></tr>"; echo "<tr id='domtype_hide' onClick=\"domtype_advanced_hide();\" style='display:none'><td colspan='2'><a href=\"javascript:domtype_advanced_hide();\"><b>- "; __("Hide advanced options"); echo "</b></a></td></tr>"; echo "<tr><td colspan=\"2\" class=\"advdom\"></td></tr>"; } } ?> <tr id="tr_<?php echo $dt['name']; ?>"> <td> <input type="radio" id="r_<?php echo $dt['name']?>" class="inc" name="type" value="<?php echo $dt['name']; ?>" <?php cbox(strtoupper($type)==strtoupper($dt['name'])); ?> OnClick="getElementById('t_<?php echo $dt['name']?>').focus();"/> <label for="r_<?php echo $dt['name']?>"><?php __($dt['description']); ?></label> </td> <td> <?php switch ($dt['target']) { case "DIRECTORY": ?> <input type="text" class="int" name="t_<?php echo $dt['name']?>" id="t_<?php echo $dt['name']?>" value="<?php ehe($targval); ?>" size="28" onKeyPress="getElementById('r_<?php echo $dt['name']?>').checked=true;" /> <?php display_browser( $targval , "main.t_".$dt['name'] ); break; case "URL": ?> <input type="text" class="int" name="t_<?php echo $dt['name']?>" id="t_<?php echo $dt['name']?>" value="<?php ehe( (empty($targval)?'http://':$targval) ); ?>" size="50" onKeyPress="getElementById('r_<?php echo $dt['name']?>').checked=true;" /> <small><?php __("(enter an URL here)"); ?></small><?php break;; case 'IP':?> <input type="text" class="int" name="t_<?php echo $dt['name']?>" id="t_<?php echo $dt['name']?>" value="<?php ehe($targval); ?>" size="16" onKeyPress="getElementById('r_<?php echo $dt['name']?>').checked=true;" /> <small><?php __("(enter an IPv4 address, for example 192.168.1.2)"); ?></small><?php break; case 'IPV6':?> <input type="text" class="int" name="t_<?php echo $dt['name']?>" id="t_<?php echo $dt['name']?>" value="<?php ehe($targval); ?>" size="32" onKeyPress="getElementById('r_<?php echo $dt['name']?>').checked=true;" /> <small><?php __("(enter an IPv6 address, for example 2001:0910::0)"); ?></small><?php break; case 'TXT':?> <input type="text" class="int" name="t_<?php echo $dt['name']?>" id="t_<?php echo $dt['name']?>" value="<?php ehe($targval);?>" size="32" onKeyPress="getElementById('r_<?php echo $dt['name']?>').checked=true;" /> <small><?php __("(enter a TXT content for this domain)"); ?></small><?php break; case 'DOMAIN':?> <input type="text" class="int" name="t_<?php echo $dt['name']?>" id="t_<?php echo $dt['name']?>" value="<?php ehe($targval);?>" size="32" onKeyPress="getElementById('r_<?php echo $dt['name']?>').checked=true;" /> <small><?php __("(enter a domain name or subdomain)"); ?></small><?php break; case "NONE": default: break; } // switch ?> </td> </tr> <?php } // foreach ?> <tr class="trbtn"> <td colspan="2"><input type="submit" class="inb ok" name="add" onclick='return check_type_selected();' value="<?php if ($isedit) { __("Edit this subdomain"); } else { __("Add this subdomain"); } ?>" /></td> </tr> </table> </form> <script type="text/javascript"> function check_type_selected() { if ( $('input[name=type]:radio:checked').val() ) { // there is a value var ll = $('input[name=type]:radio:checked').val(); var tt = $('#t_'+ll); if ( tt.length == 0 ) { // this element do not exist, so OK return true; } if ( tt.val() == '' ) { alert("<?php __("Missing value for this sub-domain"); ?>"); return false; } return true; } alert("<?php __("Please select a type for this sub-domain"); ?>"); return false; } function domtype_advanced_hide() { <?php foreach ($lst_advanced as $adv) echo "$(\"#tr_$adv\").hide();\n"?> $("#domtype_show").show(); $("#domtype_hide").hide(); } function domtype_advanced_show() { <?php foreach ($lst_advanced as $adv) echo "$(\"#tr_$adv\").show();\n"?> $("#domtype_show").hide(); $("#domtype_hide").show(); } <?php if (isset($type) && in_array($type, $lst_advanced) ) { // if it's an edit of an advanced option, we need to show the advanced options ?> domtype_advanced_show(); <?php } else { ?> domtype_advanced_hide(); <?php } // if advanced ?> </script> <?php } // sub_domains_edit ?>