nicx | bonjours,
je suis pas bon en codage, je dois faire un lien présent sur une page htm et une fonction php d'une page.
en faite, c'est un soft constitué de 3 page php, une pour lui mettre les valeurs des différents switch (ip, nom ..) voir plus bas, une deuxieme ou y a la config, et une troisieme, qui sert juste a lui dire qu'il y a 2 autre page et mettre du code html.
je vous montre :
partie page htm
Code :
- <AREA shape="POLYGON" tabindex="1" ALT="c0000-000" origTitle="c0000-000" TITLE="c0000-000" HREF="telnet://192.192.192.192/" target="_top"
|
Je vais remplacer l'appel telnet par un lien http vers une page php.
Si je lui met un lien vers la page php, j'aurais accès à toute la config que ce script me donne.
Je ne veux pas accéder à tous d'un seule coup mais plutôt juste au matériel que je viens d'appeler.
page php:
Code :
- // Specify the look you wish lists to have here: ('radio'/'select')
- $switch_list_style = 'select';
- $request_list_style = 'radio';
- $socket_timeout = 5;
- // default values for all switch, used if there is no more specific setting
- $switch['default']['telnet_port'] = xx;
- $switch['default']['password'] = 'tralala';
- $switch['default']['password_en'] = "tralala";
- $switch['default']['ignore_argc'] = FALSE;
- // your switch
- // I recommend using of key numbers with step of 10, it allows to insert new
- // declarations without reordering the rest of list. As in BASIC or DNS MX.
- /*
- $switch[850]['title'] = 'c0000-000';
- $switch[850]['address'] = '192.192.192.192';
- $switch[850]['services'] = 'telnet';
- $switch[850]['username'] = 'mr';
- //$switch[850]['password'] = 'tralala';
- $switch[860]........
- $switch[870]....
|
le truc c'est que je voudrai par le biais de l'url, je puisse directement lancer $switch[850]
la page de config php:
Code :
- function printError ($message)
- {
- echo "<font color=red><code><strong>" . $message . "</strong></code></font><br>\n";
- }
- function safeOutput ($string)
- {
- return htmlentities (substr ($string, 0, 50));
- }
- function printSwitchList ($switch, $type)
- {
- if ($type == "select" ) echo "<select name=switchid>\n";
- while (list ($id, $attribute) = each ($switch))
- if (strcmp ($id, "default" ) && !empty($attribute["address"]))
- {
- if ($type == "select" ) echo "<option value={$id}";
- if ($type == "radio" ) echo "<input type=radio name=switchid value={$id}";
- if ($_REQUEST["switchid"] == $id)
- {
- if ($type == "select" ) echo " selected=on";
- if ($type == "radio" ) echo " checked=on";
- }
- echo ">";
- echo $attribute["title"] ? $attribute["title"] : $attribute["address"];
- if ($type == "select" ) echo "</option>\n";
- if ($type == "radio" ) echo "</input><br>\n";
- }
- if ($type == "select" ) echo "</{$type}>\n";
- }
- function printRequestList ($request, $type)
- {
- if ($type == "select" ) echo "<select name=requestid>";
- while (list($id, $attribute) = each ($request))
- if (!empty ($attribute["command"]) && !empty ($attribute["handler"]) && isset ($attribute["argc"]))
- {
- if ($type == "select" ) echo "<option value={$id}";
- if ($type == "radio" ) echo "<input type=radio name=requestid value={$id}";
- if ($_REQUEST["requestid"] == $id)
- {
- if ($type == "select" ) echo " selected=on";
- if ($type == "radio" ) echo " checked=on";
- }
- echo ">";
- echo $attribute["title"] ? $attribute["title"] : $attribute["command"];
- if ($type == "select" ) echo "</option>\n";
- if ($type == "radio" ) echo "</input><br>\n";
- }
- echo "</{$type}>\n";
- }
- function execPreviousRequest ($switch, $request)
- {
- if (!isset($_REQUEST["switchid"])) return;
- $switchid = $_REQUEST["switchid"];
- if (!isset ($switch[$switchid]["address"])) return;
- if (!isset($_REQUEST["requestid"])) return;
- $requestid = $_REQUEST["requestid"];
- if (!isset ($request[$requestid]["argc"])) return;
- $handler = $request[$requestid]["handler"];
- if (empty ($handler) || strpos ($switch[$switchid]["services"], $handler) === false)
- {
- printError ("This request is not permitted for this switch by administrator." );
- return;
- }
- if ($request[$requestid]["argc"] > 0)
- {
- if (trim ($_REQUEST["argument"]) == '')
- {
- $switch_defined = isset ($switch[$switchid]["ignore_argc"]);
- $switch_permits = $switch[$switchid]["ignore_argc"] == 1;
- $default_defined = isset ($switch["default"]["ignore_argc"]);
- $default_permits = $switch["default"]["ignore_argc"] == 1;
- $final_permits =
- (!$switch_defined && $default_defined && $default_permits) ||
- ($switch_defined && $switch_permits);
- if (!$final_permits)
- {
- printError ("Full table view is denied on this switch" );
- return;
- }
- }
- else $argument = trim ($_REQUEST["argument"]);
- }
- // All Ok, prepare to connect.
- $address = $switch[$switchid]["address"];
- if (!empty ($switch[$switchid][$handler . "_port"]))
- $port = $switch[$switchid][$handler . "_port"];
- else
- $port = $switch["default"][$handler . "_port"];
- if (!empty ($switch[$switchid][$handler . "_password"]))
- $password = $switch[$switchid][$handler . "_password"];
- elseif (!empty ($switch[$switchid]["password"]))
- $password = $switch[$switchid]["password"];
- else
- $password = $switch["default"]["password"];
- $command = $request[$requestid]["command"] . (!empty ($argument) ? (" " . safeOutput ($argument)) : "" );
- global $socket_timeout;
- $link = fsockopen ($address, $port, $errno, $errstr, $socket_timeout);
- if (!$link)
- {
- printError ("Error connecting to switch" );
- return;
- }
- socket_set_timeout ($link, $socket_timeout);
- $username = $switch[$switchid]["username"];
- if (!empty ($username)) fputs ($link, "{$username}\n" );
- fputs ($link, "{$password}\nterminal length 0\n{$command}\n" );
- // let daemon print bulk of records uninterrupted
- if (empty ($argument) && $request[$requestid]["argc"] > 0) sleep (2);
- fputs ($link, "quit\n" );
- echo "<pre>\n";
- // Skip text up to the line following out command.
- while (!feof ($link)
- && (strpos (fgets ($link, 1024), $command) === FALSE));
- // Skip everything up to the 'quit' command.
- while (!feof ($link)
- && (strpos (($buf = fgets ($link, 1024)), "quit" ) === FALSE))
- {
- echo $buf;
- }
- echo "</pre>\n";
- fclose ($link);
- }
- ?>
|
Message édité par nicx le 18-09-2009 à 15:45:49
|