tiny-slitaz annotate step4.php @ rev 15

Do not configure suggested packages twice
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Jul 14 23:24:47 2016 +0200 (2016-07-14)
parents d076e7a5f3ae
children 080c97de1a5d
rev   line source
pascal@0 1 <?php
pascal@0 2
pascal@0 3 if (isset($_POST['packages']) && !isset($_POST['toconfigure'])) {
pascal@0 4 $_POST['toconfigure'] = shell_exec("./helper --depends ".
pascal@0 5 $_POST['tmp_dir']." ".$_POST['packages']);
pascal@0 6 }
pascal@0 7
pascal@0 8 if (isset($_POST['configuring'])) {
pascal@0 9 $pkg = $_POST['configuring'];
pascal@0 10 $fp = fopen($_POST['tmp_dir']."vars","w");
pascal@0 11 foreach ($_POST as $key => $val) {
pascal@0 12 if (in_array($key, $usedvars)) continue;
pascal@14 13 if (is_array($val)) $val = implode(",",$val);
pascal@0 14 fwrite($fp,"export ".$key."='".$val."'\n");
pascal@0 15 }
pascal@0 16 fclose($fp);
pascal@0 17 shell_exec("sudo ./helper --post-install $pkg ".$_POST['tmp_dir']);
pascal@0 18 }
pascal@0 19
pascal@7 20 if (isset($_POST['suggested'])) {
pascal@7 21 foreach ($_POST['suggested'] as $pkg) {
pascal@15 22 if (!strstr(" ".$_POST['toconfigure']." ", " ".$pkg." "))
pascal@15 23 $_POST['toconfigure'] .= " ".$pkg;
pascal@7 24 }
pascal@7 25 unset($_POST['suggested']);
pascal@7 26 }
pascal@7 27
pascal@0 28 $output = '';
pascal@5 29 if (!empty($_POST['toconfigure'])) {
pascal@0 30 $pkgs = explode(" ",$_POST['toconfigure']);
pascal@0 31 foreach ($pkgs as $key => $pkg) {
pascal@0 32 shell_exec("sudo ./helper --pre-install $pkg ".$_POST['tmp_dir']);
pascal@0 33 $output = shell_exec("./helper --get-form $pkg ".
pascal@0 34 $_POST['tmp_dir']);
pascal@0 35 unset($pkgs[$key]);
pascal@0 36 $_POST['toconfigure'] = implode(" ", $pkgs);
pascal@10 37 $suggested = shell_exec("./helper --get-suggested $pkg ".
pascal@10 38 $_POST['tmp_dir']);
pascal@10 39 if ($output == "" && $suggested == "") {
pascal@0 40 shell_exec("sudo ./helper --post-install $pkg ".
pascal@0 41 $_POST['tmp_dir']);
pascal@0 42 continue;
pascal@0 43 }
pascal@0 44 ?>
pascal@0 45
pascal@6 46 <div class="box">
pascal@6 47 <h3>[Step 4/5] <?php echo $pkg; ?> configuration</h3>
pascal@0 48
pascal@0 49 <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
pascal@0 50
pascal@6 51 <input name="configuring" value="<?php echo $pkg; ?>" type="hidden" />
pascal@6 52 <div class="large">
pascal@6 53 <?php
pascal@0 54 echo $output;
pascal@0 55 post_hidden();
pascal@7 56 if ($suggested != "") {
pascal@10 57 $output = "suggested";
pascal@7 58 ?>
pascal@10 59 <hr />
pascal@10 60 <p>
pascal@10 61 You may want to install the following package(s) too:
pascal@10 62 </p>
pascal@10 63 <ol>
pascal@10 64 <?php foreach (explode(" ", $suggested) as $pkg)
pascal@10 65 if (!strstr(" ".$_POST['packages']." ",
pascal@10 66 " ".$pkg." ")) { ?>
pascal@10 67 <li>
pascal@10 68 <input type="checkbox" name="suggested[]" value="<?php echo $pkg; ?>" checked="checked" /> <?php echo $pkg; ?>
pascal@10 69 </li>
pascal@10 70 <?php } ?>
pascal@10 71 </ol>
pascal@10 72 <?php } ?>
pascal@6 73 </div>
pascal@0 74
pascal@6 75 <div align="center">
pascal@6 76 <input name="continue" value="Continue" type="submit" />
pascal@6 77 </div>
pascal@0 78
pascal@0 79 </form>
pascal@6 80 </div>
pascal@0 81
pascal@0 82 <?php
pascal@0 83 echo shell_exec("./helper --get-note $pkg ".$_POST['tmp_dir']);
pascal@0 84 break;
pascal@0 85 }
pascal@0 86
pascal@0 87 }
pascal@0 88 ?>