126 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| /*
 | |
|  ----------------------------------------------------------------------
 | |
|  LICENSE
 | |
| 
 | |
|  This program is free software; you can redistribute it and/or
 | |
|  modify it under the terms of the GNU General Public License (GPL)
 | |
|  as published by the Free Software Foundation; either version 2
 | |
|  of the License, or (at your option) any later version.
 | |
| 
 | |
|  This program is distributed in the hope that it will be useful,
 | |
|  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  GNU General Public License for more details.
 | |
| 
 | |
|  To read the license please visit http://www.gnu.org/copyleft/gpl.html
 | |
|  ----------------------------------------------------------------------
 | |
| */
 | |
| 
 | |
| /**
 | |
|  * Form to get/set HTTPS preferences
 | |
|  * 
 | |
|  * @copyright AlternC-Team 2000-2017 https://alternc.com/ 
 | |
|  */
 | |
| 
 | |
| require_once("../class/config.php");
 | |
| 
 | |
| $fields = array (
 | |
| 	"domain"    => array ("request", "string", (empty($domain)?"":$domain) ),
 | |
| );
 | |
| getFields($fields);
 | |
| 
 | |
| $dom->lock();
 | |
| if (!$r=$dom->get_domain_all($domain)) {
 | |
| 	$dom->unlock();
 | |
|     require_once("head.php");
 | |
| 	echo $msg->msg_html_all();
 | |
| 	include('foot.php');
 | |
| 	die();
 | |
| }
 | |
| $dom->unlock();
 | |
| 
 | |
| $haserror=false;
 | |
| if (count($_POST)) {
 | |
|     $dom->lock();
 | |
|     // get fields from the posted form:
 | |
|     foreach($r["sub"] as $subdomain) {
 | |
|         if (isset($_POST["ssl_".$subdomain["id"]])) {
 | |
|             if (!$dom->set_subdomain_ssl_provider($subdomain["id"],$_POST["ssl_".$subdomain["id"]])) {
 | |
|                 $haserror=true;
 | |
|             }
 | |
|             // errors will be shown below
 | |
|         }
 | |
|     }
 | |
|     $dom->unlock();    
 | |
|     if ($haserror) {
 | |
|         require_once("head.php");
 | |
|         echo $msg->msg_html_all();
 | |
|     } else {
 | |
|         header("Location: dom_edit.php?domain=".eue($domain,false)."&msg=".eue(_("Your HTTPS preferences have been set"),false));
 | |
|         exit();
 | |
|     }
 | |
| } // post ?
 | |
| 
 | |
| require_once("head.php");
 | |
| 
 | |
| ?>
 | |
| <h3><i class="fas fa-globe-africa"></i> <?php printf(_("Manage %s HTTPS preferences"),ehe($domain,false)); ?></h3>
 | |
| 
 | |
| <p class="alert alert-info"><?php __("These parameters are for advanced user who want to choose specific certificate provider. <br />Usually you'd want to click 'edit' in front of a subdomain to choose between HTTP and HTTPS by default."); ?></p>
 | |
| <p>
 | |
|   <?php __("For each subdomain that may be available through HTTPS, please choose which certificate provider you want to use."); ?>
 | |
| <br />
 | |
| <?php __("please note that you only see a provider if you have a valid certificate for this domain"); ?>
 | |
| </p>
 | |
| 
 | |
| <form action="dom_sslpref.php" method="post" name="main" id="main">
 | |
|     <input type="hidden" name="domain" value="<?php ehe($domain); ?>" />
 | |
|    <?php csrf_get(); ?>
 | |
| <table class="tlist" id="dom_edit_ssl">
 | |
| <thead>
 | |
|     <tr><th><?php __("Subdomain"); ?></th><th><?php __("HTTPS Preference"); ?></th></tr>
 | |
| </thead>
 | |
| <?php
 | |
| 
 | |
| for($i=0;$i<$r["nsub"];$i++) {
 | |
|     if (!$r["sub"][$i]["only_dns"]) {
 | |
|         continue;
 | |
|     }
 | |
|     $fqdn=$r["sub"][$i]["name"].(($r["sub"][$i]["name"])?".":"").$r["name"];
 | |
|     $certs = $ssl->get_valid_certs($fqdn);
 | |
| 
 | |
|     echo "<tr>";
 | |
|     echo "<td>".$fqdn."</td>";
 | |
|     echo "<td><select name=\"ssl_".$r["sub"][$i]["id"]."\" id=\"ssl_".$r["sub"][$i]["id"]."\">";
 | |
|     echo "<option value=\"\">"._("-- no HTTPS certificate provider preference --")."</option>";
 | |
|     $providers=array();
 | |
|     foreach($certs as $cert) {
 | |
|         if ($cert["provider"] && $cert["provider"]!="snakeoil" && !isset($providers[$cert["provider"]])) {
 | |
|             $providers[$cert["provider"]]=1;
 | |
|             echo "<option value=\"".$cert["provider"]."\"";
 | |
|             selected($r["sub"][$i]["provider"]==$cert["provider"]);
 | |
|             echo ">"._("Provider:")." ".$cert["provider"]."</option>";
 | |
|         }
 | |
|     }
 | |
|     echo "</select>";
 | |
|     echo "</td>";
 | |
|     echo "</tr>";
 | |
|     
 | |
| }
 | |
| 
 | |
| ?>
 | |
| <tr><td></td>
 | |
| <td>
 | |
| <p>
 | |
| <button type="submit" class="inb ok" name="go"><?php __("Set my HTTPS certificate preferences"); ?></button>
 | |
| <button type="button" class="inb cancel" name="cancel" onclick="document.location='dom_edit.php?domain=<?php eue($domain); ?>';"><?php __("Cancel"); ?></button>
 | |
| </p>
 | |
| </td></tr>
 | |
| </table>
 | |
| </form>
 | |
| 
 | |
| 
 | |
| <?php
 | |
| require_once("foot.php");
 | |
| ?>
 |