示例#1
0
/**
 * Iterates through the quiz questions and checks if the answer provided is correct
 *
 * @param int $instrumentID The ID of the instrument
 *
 * @return nothing
 */
function markQuiz($instrumentID)
{
    $correct = true;
    foreach ($_POST as $question => $answer) {
        if ($question != 'instrument') {
            if (correct($instrumentID, $question, $answer) == false) {
                $correct = false;
                break;
            }
        }
    }
    return $correct;
}
function rdns_hooks($vars)
{
    if ($_GET['a'] != 'rdns') {
        return;
    }
    $var = array();
    $var['menu'] = "<a href='clientarea.php?action=productdetails&id={$_GET['id']}'>{$vars['domain']}</a>";
    $var['id'] = $_GET['id'];
    if (isset($_GET['ip'])) {
        $varp['rdns_ip'] = 'yes';
        $var['menu'] = "<a href='clientarea.php?action=productdetails&id={$_GET['id']}'>{$vars['domain']}</a> / <a href='clientarea.php?action=productdetails&id={$_GET['id']}&modop=custom&a=rdns'>rDns</a>";
    } else {
        $var['rdns_ip'] = 'no';
    }
    if (isset($_POST['ip'], $_POST['ttl'], $_POST['content'])) {
        $ips = $_POST['ip'];
        $record = $_POST['content'];
        $ttl = $_POST['ttl'];
        $var['post'] = 'yes';
        $arr = [];
        for ($i = 0; $i < count($ips); $i++) {
            $arr[$i]['ip'] = $ips[$i];
            $arr[$i]['ttl'] = $ttl[$i];
            $arr[$i]['content'] = $record[$i];
        }
        $result = APIClient::setRDNS(ION_API, array('args' => json_encode($arr)));
        if (is_array($result)) {
            $var['error'] = 'failed';
            $var['rdns_message'] = $result['error']['message'];
        } else {
            $var['error'] = 'success';
        }
        $sid = $vars['sid'];
        $ips = APIClient::serverAllIPs(ION_API, array('serverID' => $sid));
        $ipi = '';
        $var['content'] = '';
        foreach ($ips as $ip) {
            $ipi = APIClient::ipCalc(ION_API, array('ip' => $ip));
            $var['content'] .= '<tr><td><a href="clientarea.php?action=productdetails&id=' . $_GET['id'] . '&modop=custom&a=rdns&ip=' . urlencode($ip) . '">' . $ip . '</a></td><td>' . correct($ipi['primary_IP'], $ip) . '</td><td>' . correct($ipi['last_IP'], $ip) . '</td></tr>';
        }
    } else {
        if (isset($_GET['ip'])) {
            $sid = $vars['sid'];
            $ips = APIClient::serverAllIPs(ION_API, array('serverID' => $sid));
            $flag = in_array($_GET['ip'], $ips);
            $var['ip'] = $_GET['ip'];
            $var['ip_decode'] = urlencode($_GET['ip']);
            if ($flag) {
                $rdns = APIClient::getRDNS(ION_API, array('ip' => $_GET['ip']));
                if (isset($rdns['error'])) {
                    $var['fetch'] = 'no';
                } else {
                    $var['fetch'] = 'yes';
                    $var['record'] = '';
                    foreach ($rdns as $k => $rr) {
                        $var['record'] .= '<tr><td style="vert-align: middle;">' . $rr['ip'] . '<input type="hidden" value="' . $rr['ip'] . '" name="ip[]"></td>';
                        $var['record'] .= '<td><input class="form-control" style="width:90%;" type="text" value="' . ($rr['ttl'] != '' ? $rr['ttl'] : '14400') . '" name="ttl[]"></td>';
                        $var['record'] .= '<td><input type="text" value="' . $rr['content'] . '" name="content[]" style="width:90%;" class="form-control"></td></tr>';
                    }
                }
            } else {
                $var['error'] = 'access';
            }
        } else {
            $sid = $vars['sid'];
            $ips = APIClient::serverAllIPs(ION_API, array('serverID' => $sid));
            $ipi = '';
            $var['content'] = '';
            foreach ($ips as $ip) {
                $ipi = APIClient::ipCalc(ION_API, array('ip' => $ip));
                $var['content'] .= '<tr><td><a href="clientarea.php?action=productdetails&id=' . $_GET['id'] . '&modop=custom&a=rdns&ip=' . urlencode($ip) . '">' . $ip . '</a></td><td>' . correct($ipi['primary_IP'], $ip) . '</td><td>' . correct($ipi['last_IP'], $ip) . '</td></tr>';
            }
        }
    }
    return $var;
}
示例#3
0
function learn(&$user, $filter)
{
    $card = next_card($user, $filter);
    if ($card == NULL) {
        return false;
    }
    $user_card = sql_single_query("select * from user_cards where user_id = {$user['id']} and card_id = {$card['id']}");
    $mylang = $user['language'];
    // pick out the second language from a (for example: /en-ro/) tag (which should be the first tag)
    // note this only works for language cards, this needs work WORK !!!
    $learning = substr($card['tags'], 4, 2);
    $language = get_translated_language($mylang, $learning);
    $prompt = array("en" => "What is the {$language} for ", "nl" => "Wat is het {$language} voor", "de" => "Wie sagt man auf {$language}", "ro" => "Cum se zice in {$language}")[$mylang];
    $goodanswer = array("en" => "the right answer was", "nl" => "het goede antwoord was", "de" => "die richtige antword war", "ro" => "bun resuns e");
    $front = json_decode($card['front'], 1);
    $back = json_decode($card['back'], 1);
    $exposure_start = microtime(true);
    // prompt the user and wait for the answer
    if (abs($user_card['first'] - time(0)) < 5) {
        $fresh = red("*");
    } else {
        $fresh = " ";
    }
    $answer = termline("{$fresh} {$prompt}: " . color_string($front['sp'], "yellow") . " ");
    $exposure_took = intval(1000 * (microtime(true) - $exposure_start));
    if ($answer === NULL) {
        return false;
    }
    if (process_answer($user, $card, $answer, $exposure_took)) {
        echo correct($mylang);
        $user['ngood']++;
    } else {
        $user['nfalse']++;
        echo $goodanswer[$mylang] . ": " . color_string($back['sp'], "yellow") . "\n";
        echo wrong($mylang);
    }
    $ratio = intval(100 * ($user['ngood'] / ($user['ngood'] + $user['nfalse'])));
    $interval = sql_simple_query("select `interval` from user_cards where id={$user_card['id']}");
    echo "! took {$exposure_took} ms, right this session: {$ratio}% total score {$user['score']} next in {$interval} seconds\n";
    echo "\n";
    echo "\n";
    return true;
}
示例#4
0
ini_set('memory_limit', '1024M');
$filename = "big.txt";
/* get content of $filename in $content */
$content = strtolower(file_get_contents($filename));
/* split $content into array of substrings of $content i.e wordwise */
$wordArray = preg_split('/[^a-z]/', $content, -1, PREG_SPLIT_NO_EMPTY);
/* "stop words", filter them */
/*$filteredArray = array_filter($wordArray, function($x){
    return 		!preg_match("/^(.|a|an|and|the|this|at|in|or|of|is|for|to)$/",$x);
  });*/
/* get associative array of values from $filteredArray as keys and their frequency count as value */
$wordFrequencyArray = array_count_values($wordArray);
$splitQuery = split(" ", $query);
$rst = "";
foreach ($splitQuery as $word) {
    $rst = $rst . correct($word, $wordFrequencyArray);
}
echo trim($rst);
function edit1($word)
{
    $list1 = delete($word);
    $list2 = insert($word);
    $list3 = transpose($word);
    $list4 = replace($word);
    $union = array_merge($list1, $list2, $list3, $list4);
    $union = array_unique($union);
    return $union;
}
function delete($word)
{
    $list = array();
示例#5
0
function en($method, $s)
{
    switch ($method) {
        case 'snd':
            $s = soundex($s);
            break;
        case 'bin':
            $s = bin_en($s);
            break;
        case 'dec':
            $s = dec_en($s);
            break;
        case 'oct':
            $s = oct_en($s);
            break;
        case 'hex':
            $s = hex_en($s);
            break;
        case 'bsd':
            $s = bsdconv(bsdconv_create($_POST['bsdconv']), $s) or addmsg(ERR, bsdconv_error());
            break;
        case 'rot':
            $s = rotate($s, $_POST['rot'], $_POST['nrot']);
            break;
        case 'url':
            $s = $_POST['url_raw'] == 'on' ? rawurlencode($s) : urlencode($s);
            break;
        case 'raw':
            break;
        case 'stmwth':
            $s = strimwidth($s);
            break;
        case 'rpt':
            $s = str_repeat($s, $_POST['rpt']);
            break;
        case 'rev':
            $s = str_rev($s);
            break;
        case 'crv':
            $s = case_rev($s);
            break;
        case 'nbase':
            $s = base_conv($s, 0);
            break;
        case 'base':
            $s = base_en($s);
            break;
        case 'rep':
            $s = gen_rep($s);
            break;
        case 'pcr':
            $s = pcre_rep($s);
            break;
        case 'pcm':
            $s = pcre_mat($s);
            break;
        case 'spe':
            $s = htmlspecialchars($s);
            break;
        case 'hen':
            $s = mbs() ? mb_convert_encoding($s, 'HTML-ENTITIES') : htmlentities($s);
            break;
        case 'md5':
            $s = md5($s);
            break;
        case 'crypt':
            $s = crypt($s, $_POST['crypt_salt']);
            break;
        case 'sha1':
            $s = sha1($s);
            break;
        case 'crc16':
            $s = sprintf("%x", crc32($s));
            break;
        case 'crc32':
            $s = sprintf("%x", crc32($s));
            break;
        case 'srt':
            $s = mysort($s, 0);
            break;
        case 'stu':
            $s = mbs() ? mb_strtoupper($s) : strtoupper($s);
            break;
        case 'bbs':
            $s = bbs2html($s);
            break;
        case 'unq':
            $s = uniq($s, 0);
            break;
        case 'mut':
            $s = str_mutate($s);
            break;
        case 'ttb':
            $s = totable($s);
            break;
        case 'acc':
            $s = accumulation($s, 0);
            break;
        case 'stl':
            $s = mbs() ? mb_strtolower($s) : strtolower($s);
            break;
        case 'ucw':
            $s = ucwords($s);
            break;
        case 'ctr':
            $s = counter($s);
            break;
        case 'swd':
            $s = strwidth($s);
            break;
        case 'cor':
            $s = correct($s);
            break;
        case 'det':
            $s = determinant($s);
            break;
        case 'uue':
            $s = convert_uuencode($s);
            break;
        case 'msk':
            $s = network($s);
            break;
        case 'ref':
            $s = sqr_reflect($s);
            break;
        case 'che':
            $s = chewing($s);
            break;
        case 'rf':
            $s = sqr($s, 0);
            break;
        case 'cac':
            $s = cac_pre($s);
            break;
        case 'mmtp':
            $s = matrix_multiply($s);
            break;
        case 'mro':
            $s = matrix_rotate($s, 0);
            break;
        case 'miv':
            $s = matrix_inverse($s);
            break;
        case 'mtr':
            $s = matrix_transpose($s);
            break;
        case 'ascii':
            $s = ASCIIFilter($s);
            break;
        case 'key':
            $s = key_xor($_POST['key'], $s);
            break;
        case 'bre':
            $s = bit_rev($s);
            break;
        case 'bod':
            $s = bitorder_en($_POST['order'], $s);
            break;
        case 'tra':
            $s = tran($_POST['transpose'], $s, 2);
            break;
        case 'sta':
            $s = statistics($s);
            break;
        case 'quot':
            $s = quoted_printable_decode($s);
            break;
        default:
            addmsg(WARN, 'Undefined Method: ' . $method);
    }
    return $s;
}