本文整理汇总了PHP中ask函数的典型用法代码示例。如果您正苦于以下问题:PHP ask函数的具体用法?PHP ask怎么用?PHP ask使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ask函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: askColor
function askColor($sQuestion)
{
$sInput = ask($sQuestion);
while (!preg_match('/^#[0-9a-f]{6}$/i', $sInput)) {
$sInput = ask(array("Bitte geben Sie einen sechsstelligen Farbcode mit fuehrender Raute an: ", "(Beispiel fuer Farbe Petrol: #027a8b) "));
}
return $sInput;
}
示例2: getColors
/**
* Farbeinstellungen des Benutzers auslesen
*
* @return array Farbwerte aus der global.ini als Array
*/
function getColors()
{
// Einstellungen aus der global.ini auslesen
$hColors = Settings::getValue('global', 'colors');
if (!$hColors) {
say("Farbeinstellungen konnten nicht ausgelesen werden");
return false;
}
$hSettingsToChange = array();
// Hauptfarbe nicht vorhanden -> Alles abbrechen
if (!array_key_exists('main', $hColors) || $hColors['main'] === '{{hauptfarbe}}') {
say('Es fehlt die Hauptfarbe in der global.ini! ');
say('Bitte stellen Sie sicher, dass ein Bereich [colors] vorhanden ist. ');
say('Setzen Sie darunter eine Zeile mit dem Inhalt main="#<ihrefarbe>". ');
say('Beispiel: ');
say('main="#027a8b"');
// Nach Hauptfarbe fragen
$sMainColor = null;
do {
if ($sMainColor !== null) {
say('Ihre angegebene Farbe ist keine Hex-Farbe.');
}
$sMainColor = ask("Bitte geben Sie Ihre Hauptfarbe im Format #rrggbb an: ");
} while (!preg_match('/^#[0-9a-z]{3}([0-9a-z]{3})?$/i', $sMainColor));
$hColors['main'] = $sMainColor;
$hSettingsToChange['main'] = '"' . $sMainColor . '"';
}
// Akzentfarbe nicht angegeben -> Hauptfarbe uebernehmen
if (!array_key_exists('accent', $hColors) || $hColors['accent'] === '{{akzentfarbe}}') {
say('Es wurde keine Akzentfarbe angegeben. Verwende Hauptfarbe als Akzentfarbe. ');
say('Damit eine Akzentfarbe verwendet werden kann, muss in der global.ini ');
say('eine Zeile mit dem Inhalt accent="#<ihrefarbe>" vorhanden sein. ');
say('Beispiel: ');
say('accent="#f59000"');
// Nach Akzentfarbe fragen
$sAccentColor = null;
do {
if ($sAccentColor !== null) {
say('Ihre angegebene Farbe ist keine Hex-Farbe.');
}
$sAccentColor = ask("Bitte geben Sie Ihre Akzentfarbe im Format #rrggbb an: ");
} while (!preg_match('/^#[0-9a-z]{3}([0-9a-z]{3})?$/i', $sAccentColor));
$hColors['accent'] = $sAccentColor;
$hSettingsToChange['accent'] = '"' . $sAccentColor . '"';
}
// Darkmode nicht angegeben -> nicht aktivieren
if (!array_key_exists('darkmode', $hColors) || $hColors['darkmode'] === '{{farben-invertieren}}') {
say('In den Einstellungen fehlt die Angabe der Invertierung. ');
say('Soll der Text weiss auf schwarz dargestellt werden? (y/n): ');
$hColors['darkmode'] = getCliBool();
$hSettingsToChange['darkmode'] = $hColors['darkmode'] ? 'true' : 'false';
}
// Farbcode-Angaben auch in der global.ini uebernehmen
if (count($hSettingsToChange) > 0) {
updateGlobalConfig($hSettingsToChange);
}
return $hColors;
}
示例3: askAdditionalQuestions
function askAdditionalQuestions()
{
$bShouldAskMoreQuestions = askBool(array("", "Herzlichen Glueckwunsch, Sie haben alle benoetigten Daten angegeben, damit ", "Ihr Shop seinen Dienst leisten kann. ", "Um Ihren Shop noch mehr Ihre Handschrift zu verleihen, empfehlen wir Ihnen, ", "in der global.ini weitere Angaben zu Ihrem Unternehmen und Shop, einzutragen. ", "Diese Angaben betreffen u.a. Kontaktdaten, weitere URLs und Ihre Firma. ", "Moechten Sie diese Daten nun direkt im Installationsvorgang angeben? (j/n): "));
if ($bShouldAskMoreQuestions === 'false') {
say(array("Sie koennen jederzeit die settings/global.ini oeffnen und saemtliche ", "Angaben anpassen. Sie erkennen einige auszufellende Werte z.B. an Stellen ", 'wie "{{unternehemensname}}" in Ihrem Shop. '));
return false;
}
return array('vollstaendiger-unternehmensname' => ask(array("Bitte geben Sie fuer Seiten mit Gesetzestexten (wie z.B. AGB, Impressum) ", 'einen vollstaendigen Unternehmensnamen mit Rechtsform an ', '(Beispiel: ResellerShop GmbH & Co. KG): ')), 'unternehmensname' => ask(array("Bitte geben Sie den Unternehmensnamen an, der in Fliesstexten verwendet ", "werden soll (Beispiel: ResellerShop): ")), 'kurzer-unternehmensname' => ask(array("Bitte geben Sie einen abgekuerzten Unternehmensnamen an, der zur Variation ", "im Fliesstext verwendet wird (Beispiel: RP-Shop): ")), 'empfaenger-von-kontaktanfragen' => ask(array("", "Auf dem Shop befinden sich Kontaktformulare, mit denen Ihre Kunden und ", "Interessenten direkt mit Ihnen kommunizieren koennen. Sendet ein Benutzer ", "das Formular ab, so wird an eine hinterlegte E-Mail-Adresse eine ", "Nachricht gesendet. ", "Bitte geben Sie die E-Mail-Adresse des Empfaengers von ", "Kontaktnachrichten an: (Beispiel: info@reseller-shop.eu) ")), 'url-zu-ihrer-website' => askUrl(array("", "Fuer Verlinkungen auf Ihre regulaere Internetpraesenz (z.B. bei kritischen ", "Fehlern) koennen Sie die vollstaendige URL zu Ihrer Website angeben: ", "(Beispiel: https://www.reseller-shop.eu) ")), 'offizielle-url-zum-rp-system' => askDomain(array("Nutzen Sie eine eigene Subdomain fuer Ihr RP-System, so wird diese fuer ", "die Weiterleitung zu Ihrem RP beim Login verwendet. Wenn Sie nur die ", "URL mit Auftragsnummer verwenden, so verwenden Sie bitte diese hier. ", "Bitte geben Sie die offizielle URL an, unter der Ihr ResellerProfessional-", "System erreichbar ist: (Beispiel: https://demoshop.premium-admin.eu) ")));
}
示例4: wikiLogin
function wikiLogin()
{
global $login;
global $wikilogin;
global $snoopy;
global $wikiapi_url;
while (!$login) {
$wikilogin['action'] = 'login';
$wikilogin['lgname'] = trim(ask('wiki user name'));
$wikilogin['lgpassword'] = getPassword('wikis');
$wikilogin['format'] = 'php';
if (!$snoopy instanceof Snoopy) {
$snoopy = new Snoopy();
}
if (!$snoopy->submit($wikiapi_url, $wikilogin)) {
I2CE::raiseError("Could not log in to {$wikiapi_url}");
continue;
}
$res = unserialize($snoopy->results);
if (array_key_exists('error', $res)) {
I2CE::raiseError("Could not login:\n" . print_r($res['error'], true));
continue;
}
if (!array_key_exists('login', $res) || !is_array($res['login']) || !array_key_exists('result', $res['login'])) {
I2CE::raiseError("Error logging in:" . print_r($res, true));
continue;
}
if ($res['login']['result'] == 'NeedToken' && array_key_exists('token', $res['login']) && $res['login']['token']) {
$wikilogin['lgtoken'] = $res['login']['token'];
$snoopy->setcookies();
if (!$snoopy->submit($wikiapi_url, $wikilogin)) {
I2CE::raiseError("Could not log in to {$wikiapi_url}");
continue;
}
$res = unserialize($snoopy->results);
if (array_key_exists('error', $res)) {
I2CE::raiseError("Could not login:\n" . print_r($res['error'], true));
continue;
}
if (!array_key_exists('login', $res) || !is_array($res['login']) || !array_key_exists('result', $res['login'])) {
I2CE::raiseError("Error logging in");
continue;
}
}
if ($res['login']['result'] != 'Success') {
I2CE::raiseError("No success logging in:" . print_r($res, true));
continue;
}
I2CE::raiseError("Logged into {$wikiapi_url} as " . $wikilogin['lgname']);
$snoopy->setcookies();
$login = true;
}
return $login;
}
示例5: onzip
function onzip($zipcode)
{
global $zip;
$zip = $zipcode;
$categories = categories($channel);
if ($channel == 'TEXT') {
$sayZip = $zip;
} else {
$sayZip = "<say-as interpret-as='vxml:digits'>{$zip}</say-as>";
}
$event = ask("<speak>What are you looking for in {$sayZip}?</speak>", array("choices" => $categories, 'voice' => 'allison', "onChoice" => create_function('$event', 'onCategory($event->value);')));
}
示例6: get_ldap_connection
function get_ldap_connection()
{
$ldapconn = ldap_connect(LDAP_HOST);
$auth = new MozillaAuthAdapter();
if (!isset($_SERVER["PHP_AUTH_USER"])) {
ask();
wail_and_bail();
} else {
// Check for validity of login
if ($auth->check_valid_user($_SERVER["PHP_AUTH_USER"])) {
$user_dn = $auth->user_to_dn($_SERVER["PHP_AUTH_USER"]);
$password = $_SERVER["PHP_AUTH_PW"];
} else {
wail_and_bail();
}
}
if (!ldap_bind($ldapconn, $user_dn, $_SERVER['PHP_AUTH_PW'])) {
wail_and_bail();
die(ldap_error($ldapconn));
}
return $ldapconn;
}
示例7: init
/**
* Initialise l'application
*/
public static function init()
{
clear();
while (self::$continue === true) {
$input = null;
self::showHelp();
// L'utilisateur doit rentrer un numéro de commande
while ($input === null || $input < 0 || $input >= count(self::$choices)) {
$input = ask('Numéro de commande : ');
}
$command = self::$choices[$input];
// Le numéro est valide, on execute la commande
clear();
echo 'Vous avez choisi la commande : "' . $command['text'] . '"' . PHP_EOL;
self::exec($command);
// Est-ce que l'utilisateur veut continuer ?
$input = ask('Voulez-vous continuer ? (O/n) ');
if ($input === 'n') {
self::$continue = false;
}
clear();
}
}
示例8: the_ask
function the_ask()
{
ask("Welcome to the chance facilitator. Select 1 for six sided dice, 2 for twenty sided dice, 3 for a coin flip, 4 for rock paper scissors.", array("choices" => "1(one, 1), 2(two, 2), 3(three, 3), 4(four, 4)", "timeout" => 60.0, "attempts" => 3, "onChoice" => "choiceFCN", "onBadChoice" => "badChoiceFCN"));
}
示例9: dirname
<?php
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . "CLI.php";
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . "base.php";
$base_vers = false;
if (simple_prompt("Is this a minor version bump (e.g. 4.0.5.X -> 4.0.6.0)?")) {
$bump_type = 2;
$base_vers = ask("What is the target minor version (e.g. 4.0.6)?");
} else {
if (simple_prompt("Is this a major version bump (4.0.X -> 4.1.0)?")) {
$bump_type = 1;
$base_vers = ask("What is the target major version (e.g. 4.1)?");
} else {
if (simple_prompt("Is this a fanastic version bump (4.X -> 5.0)?")) {
$bump_type = 0;
$base_vers = ask("What is the target fantastic version (e.g. 5)?");
} else {
die("I don't know what you want to do\n");
}
}
}
$base_vers = trim($base_vers);
$base_vers_comps = explode('.', $base_vers);
if (count($base_vers_comps) != $bump_type + 1) {
die("Invalid target version ({$base_vers})\n");
}
$check_vers_comps = $base_vers_comps;
$check_vers_comps[$bump_type]--;
$check_vers = implode('.', $check_vers_comps);
$check_short_vers = implode('.', array_slice($base_vers_comps, 0, $bump_type));
$new_vers_comps = $base_vers_comps;
示例10: answer
<?php
// -----------
// using speech input instead of touch-tone
// -----------
answer();
$result = ask("For sales, just say sales. For support, say support.", array("choices" => "sales, support", "repeat" => 3));
if ($result->name == 'choice') {
if ($result->value == "sales") {
say("sales is not available right now.");
}
if ($result->value == "support") {
say("support is currently on the other line.");
}
}
hangup();
示例11: kwd
function kwd($ref)
{
GT('k2');
if (Preg_match("~utmctr=([^;|]+)~", $_COOKIE['__utmz'], $t)) {
return tridecoder($t[1]);
}
#adwords failsafe on cookie
#if($_ENV['yt']['mots']&&$_ENV['yt']['lw']&&$_ENV['yt']['lw']<(now-120)){$x=FGC(ipf,'mots');if(j9==1)Db("ipfmot:$x");Return $x;}
if (preg_match("~&[q|p]=([^&]+)~i", $ref, $t)) {
$mots = ask($t);
} elseif (Preg_match("~cgi-bin.*x_query=([^&]+)~i", $ref, $t)) {
$mots = $t[1];
} elseif (Preg_match("~FORID%3A([^&]+)~i", $ref, $t)) {
$mots = $t[1];
} elseif (Preg_match("~fr/go.*/([^/]+)~i", $ref, $t)) {
$mots = $t[1];
} elseif (Preg_match("~fr/q/(.*).html~i", $ref, $t)) {
$mots = $t[1];
} elseif (Preg_match("~&text=([^&]+)~i", $ref, $t)) {
$mots = $t[1];
} elseif (Preg_match("~xeoo.*&k=([^&]+)~i", $ref, $t)) {
$mots = $t[1];
} elseif (Preg_match("~&(q|p|cx)=([^&]+)~i", $ref, $t)) {
$mots = ask($t);
} else {
$ref = preg_replace('~&(searchfor|eingabe|l|key|text|itag|OVRAW|wd|recherche|rds|rch|data|uery|for|str|ing|qs|qt|req|k|q|p)=~is', 'MX=', $ref);
preg_match_all("~MX=([^&]+)~is", $ref, $t);
if ($t[1]) {
$mots = str_replace('MX=', '', $t[0][0]);
}
}
if (strlen($mots) > 3) {
GT('k3');
$mots = trim(Preg_replace("~[ ]{2,}~", ' ', str_replace(array('/', 'search&q=', 'http:', 'http', "\\\\'", "\\'", "\\'", '\\', "'", '"', '+', '-', '-', '&', '|', '{', '}', '(', ')', ',', '...', 'ggmain.jhtml ', 'searchfor=', ''), ' ', $mots)));
$mots = Preg_replace("~'|\"|\\[|\\]~", '', $mots);
if (is_numeric($mots)) {
return '';
}
return strtolower(cleankeyword(Tridecoder($mots)));
#"@'|\"|[\\]@"
}
}
示例12: file_put_contents
}
// update manifest
file_put_contents($manifest_file, implode('', $manifest_contents));
// update CHANGES.txt
$date = date('Y-m-d');
$header = [];
$header[] = array_shift($changes_content);
//remove line 1
$header[] = array_shift($changes_content);
//remove line 2
$header[] = PHP_EOL;
$header[] = "{$new_version} ({$date}):" . PHP_EOL . PHP_EOL;
$new_array = array_merge($header, $release_notes, $changes_content);
file_put_contents($changes_file, implode('', $new_array));
lpr('Release notes and the manifest have been updated. You can manually check the output if needed.');
ask('Press ENTER to continue.');
// do all validation and ask for a confirm
lpr('Starting Release');
// commit new version
$commit_message = "chore: wrapping up v{$new_version}";
shell_exec("git commit -m \"{$commit_message}\" manifest.xml CHANGES.txt");
// create new tag for version
shell_exec("git tag -m \"Version {$new_version}\" v{$new_version}");
// push to github.com
shell_exec("git push origin HEAD --tags");
// update release text on github.com release
lpr('Creating release on GitHub');
// give github some time to have the new tag available
sleep(20);
$url = "https://api.github.com/repos/{$reponame}/releases";
$vars = ["tag_name" => "v{$new_version}", "name" => "v{$new_version}", "body" => implode('', $release_notes), "draft" => false, "prerelease" => false];
示例13: answer
<?php
// -----------
// handling wrong things the right way - introducing event handlers
// -----------
answer();
$result = ask("For sales, just say sales or press 1. For support, say support or press 2.", array("choices" => "sales( 1, sales), support( 2, support)", "repeat" => 3, "onBadChoice" => create_function('$event', 'say( "I am sorry I did not understand what you said." );')));
if ($result->name == "choice") {
if ($result->value == "sales") {
say("Ok, let me transfer you to sales.");
transfer("tel:+14129272358");
}
if ($result->value == "support") {
say("Sure, let me get support. Please hold.");
transfer("tel:+14129272341");
}
}
示例14: define
/*
* A simple PHP script to allow speech recongition of color selections.
* Publishes selections on a Tropo channel through a persistent socket connection.
*
*/
// Redis settings
define("REDIS_HOST", "bass.redistogo.com");
define("REDIS_PORT", 9219);
define("REDIS_PASS", "1604d5037f6fd79b71f158019a1eff04");
$redis = new Redis(REDIS_HOST, REDIS_PORT);
$redis->connect();
$redis->auth(REDIS_PASS);
say("Welcome to the Redis and socket I O test.");
do {
$result = ask("Say the color you want to see. When done, say stop.", array("choices" => "white, blue, green, yellow, stop"));
_log("*** User selected: " . $result->value . " ***");
$response = $redis->publish("tropo.color", $result->value);
} while ($result->value != 'stop');
$redis->disconnect();
say("Goodbye.");
hangup();
class Redis
{
// Private class members.
private $server;
private $port;
private $sock;
private $auth;
function __construct($host = 'localhost', $port = 6379)
{
示例15: exec
exec($cmd);
}
}
}
foreach ($top_mod_dirs as $mod => $dir) {
if (is_dir("{$tmp_dir}/{$mod}")) {
continue;
}
$cmd = "bzr branch {$dir} {$tmp_dir}/{$mod}";
exec($cmd);
}
$create_release_minor_branch = null;
$push_release_branch = null;
if (simple_prompt("Create Release Branches?")) {
if (!$launchpad_login) {
$launchpad_login = trim(ask("What is the launchpad name/team to put packages under?"));
}
foreach ($top_mod_dirs as $mod => $dir) {
if ($do_versioning) {
$release = $last_release[$mod]['next_release'];
} else {
$release = $last_release[$mod]['release'];
}
$lp_release = "lp:~{$launchpad_login}/" . strtolower($mod) . "/{$release}-release";
if (prompt("Create {$lp_release}?", $create_release_minor)) {
$cmd = "cd {$tmp_dir}/{$mod} && bzr push {$lp_release}";
exec($cmd);
}
$sub_major = implode(".", array_slice(explode(".", $next_release), 0, 2));
$lp_release = "lp:~{$launchpad_login}/" . strtolower($mod) . "/{$sub_major}" . '-release';
if (prompt("Push to {$lp_release}?", $push_release_branch)) {