70 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
| <?php
 | |
| 
 | |
| // render config variables array
 | |
| function renderConfig($configPart, $indent, $platform=false, $parent='') {
 | |
|     global $app_root;
 | |
|     global $config;
 | |
|         if ($parent === 'platforms') {
 | |
| ?>
 | |
|                         <div class="col-md-8 text-start">
 | |
|                             <a class="btn btn-secondary" style="padding: 0px;" href="<?= $app_root ?>?page=config&action=add">add</a>
 | |
|                         </div>
 | |
|                         <div class="border bg-light" style="padding-left: <?= $indent ?>px; padding-bottom: 20px; padding-top: 20px;">
 | |
| <?php   } else {
 | |
| ?>
 | |
|                         <div style="padding-left: <?= $indent ?>px; padding-bottom: 20px;">
 | |
| <?php
 | |
|         }
 | |
|         foreach ($configPart as $config_item => $config_value) {
 | |
|             if ($parent === 'platforms') {
 | |
|                 $indent = 0;
 | |
|             }
 | |
| ?>
 | |
|                             <div class="row mb-1" style="padding-left: <?= $indent ?>px;">
 | |
|                                 <div class="col-md-4 text-end">
 | |
|                                     <?= htmlspecialchars($config_item) ?>:
 | |
|                                 </div>
 | |
| <?php
 | |
|             if ($parent === 'platforms') { ?>
 | |
|                                 <div class="col-md-8 text-start">
 | |
|                                     <a class="btn btn-secondary" style="padding: 2px;" href="<?= $app_root ?>?platform=<?= htmlspecialchars($config_item) ?>&page=config&action=edit">edit</a>
 | |
| <?php
 | |
|             // we don't delete the last platform
 | |
|             if (count($configPart) <= 1) { ?>
 | |
|                                     <span class="btn btn-light" style="padding: 2px;" href="#" data-toggle="tooltip" data-placement="right" data-offset="30.0" title="can't delete the last platform">delete</span>
 | |
| <?php           } else { ?>
 | |
|                                     <a class="btn btn-danger" style="padding: 2px;" href="<?= $app_root ?>?platform=<?= htmlspecialchars($config_item) ?>&page=config&action=delete">delete</a>
 | |
| <?php           } ?>
 | |
|                                 </div>
 | |
| <?php       }
 | |
| 
 | |
|             if (is_array($config_value)) {
 | |
|                 // here we render recursively nested arrays
 | |
|                 $indent = $indent + 50;
 | |
|                 if ($parent === 'platforms') {
 | |
|                     $indent = 100;
 | |
|                 }
 | |
|                 if ($config_item === 'platforms') {
 | |
|                     renderConfig($config_value, $indent, $platform, 'platforms');
 | |
|                 } else {
 | |
|                     renderConfig($config_value, $indent, $platform);
 | |
|                 }
 | |
|                 $indent = 0;
 | |
|             } else {
 | |
|                 // if it's not array, just display it
 | |
| ?>
 | |
|                                 <div class="border col-md-8 text-start">
 | |
|                                     <?= htmlspecialchars($config_value ?? '')?>
 | |
| <?= $platform ?>
 | |
|                                 </div>
 | |
| <?php
 | |
|             }
 | |
| ?>
 | |
|                             </div>
 | |
| <?php
 | |
|         }
 | |
|     echo '</div>';
 | |
| }
 | |
| 
 | |
| ?>
 |